1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
3 #[repr(transparent)]
4 pub struct DataClasses(pub u32);
5 impl DataClasses {
6     pub const None: DataClasses = DataClasses(0u32);
7     pub const Gprs: DataClasses = DataClasses(1u32);
8     pub const Edge: DataClasses = DataClasses(2u32);
9     pub const Umts: DataClasses = DataClasses(4u32);
10     pub const Hsdpa: DataClasses = DataClasses(8u32);
11     pub const Hsupa: DataClasses = DataClasses(16u32);
12     pub const LteAdvanced: DataClasses = DataClasses(32u32);
13     pub const NewRadioNonStandalone: DataClasses = DataClasses(64u32);
14     pub const NewRadioStandalone: DataClasses = DataClasses(128u32);
15     pub const Cdma1xRtt: DataClasses = DataClasses(65536u32);
16     pub const Cdma1xEvdo: DataClasses = DataClasses(131072u32);
17     pub const Cdma1xEvdoRevA: DataClasses = DataClasses(262144u32);
18     pub const Cdma1xEvdv: DataClasses = DataClasses(524288u32);
19     pub const Cdma3xRtt: DataClasses = DataClasses(1048576u32);
20     pub const Cdma1xEvdoRevB: DataClasses = DataClasses(2097152u32);
21     pub const CdmaUmb: DataClasses = DataClasses(4194304u32);
22     pub const Custom: DataClasses = DataClasses(2147483648u32);
23 }
24 impl ::std::convert::From<u32> for DataClasses {
from(value: u32) -> Self25     fn from(value: u32) -> Self {
26         Self(value)
27     }
28 }
29 unsafe impl ::windows::runtime::Abi for DataClasses {
30     type Abi = Self;
31     type DefaultType = Self;
32 }
33 unsafe impl ::windows::runtime::RuntimeType for DataClasses {
34     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Networking.NetworkOperators.DataClasses;u4)");
35 }
36 impl ::std::ops::BitOr for DataClasses {
37     type Output = Self;
bitor(self, rhs: Self) -> Self38     fn bitor(self, rhs: Self) -> Self {
39         Self(self.0 | rhs.0)
40     }
41 }
42 impl ::std::ops::BitAnd for DataClasses {
43     type Output = Self;
bitand(self, rhs: Self) -> Self44     fn bitand(self, rhs: Self) -> Self {
45         Self(self.0 & rhs.0)
46     }
47 }
48 impl ::std::ops::BitOrAssign for DataClasses {
bitor_assign(&mut self, rhs: Self)49     fn bitor_assign(&mut self, rhs: Self) {
50         self.0.bitor_assign(rhs.0)
51     }
52 }
53 impl ::std::ops::BitAndAssign for DataClasses {
bitand_assign(&mut self, rhs: Self)54     fn bitand_assign(&mut self, rhs: Self) {
55         self.0.bitand_assign(rhs.0)
56     }
57 }
58 impl ::std::ops::Not for DataClasses {
59     type Output = Self;
not(self) -> Self60     fn not(self) -> Self {
61         Self(self.0.not())
62     }
63 }
64 #[repr(transparent)]
65 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
66 pub struct ESim(::windows::runtime::IInspectable);
67 impl ESim {
68     #[cfg(feature = "Foundation")]
AvailableMemoryInBytes(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>>69     pub fn AvailableMemoryInBytes(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>> {
70         let this = self;
71         unsafe {
72             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
73             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<i32>>(result__)
74         }
75     }
Eid(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>76     pub fn Eid(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
77         let this = self;
78         unsafe {
79             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
80             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
81         }
82     }
FirmwareVersion(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>83     pub fn FirmwareVersion(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
84         let this = self;
85         unsafe {
86             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
87             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
88         }
89     }
MobileBroadbandModemDeviceId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>90     pub fn MobileBroadbandModemDeviceId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
91         let this = self;
92         unsafe {
93             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
94             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
95         }
96     }
Policy(&self) -> ::windows::runtime::Result<ESimPolicy>97     pub fn Policy(&self) -> ::windows::runtime::Result<ESimPolicy> {
98         let this = self;
99         unsafe {
100             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
101             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ESimPolicy>(result__)
102         }
103     }
State(&self) -> ::windows::runtime::Result<ESimState>104     pub fn State(&self) -> ::windows::runtime::Result<ESimState> {
105         let this = self;
106         unsafe {
107             let mut result__: ESimState = ::std::mem::zeroed();
108             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ESimState>(result__)
109         }
110     }
111     #[cfg(feature = "Foundation_Collections")]
GetProfiles(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<ESimProfile>>112     pub fn GetProfiles(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<ESimProfile>> {
113         let this = self;
114         unsafe {
115             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
116             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<ESimProfile>>(result__)
117         }
118     }
119     #[cfg(feature = "Foundation")]
DeleteProfileAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, profileid: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<ESimOperationResult>>120     pub fn DeleteProfileAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, profileid: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<ESimOperationResult>> {
121         let this = self;
122         unsafe {
123             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
124             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), profileid.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<ESimOperationResult>>(result__)
125         }
126     }
127     #[cfg(feature = "Foundation")]
DownloadProfileMetadataAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, activationcode: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<ESimDownloadProfileMetadataResult>>128     pub fn DownloadProfileMetadataAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, activationcode: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<ESimDownloadProfileMetadataResult>> {
129         let this = self;
130         unsafe {
131             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
132             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), activationcode.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<ESimDownloadProfileMetadataResult>>(result__)
133         }
134     }
135     #[cfg(feature = "Foundation")]
ResetAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<ESimOperationResult>>136     pub fn ResetAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<ESimOperationResult>> {
137         let this = self;
138         unsafe {
139             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
140             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<ESimOperationResult>>(result__)
141         }
142     }
143     #[cfg(feature = "Foundation")]
ProfileChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<ESim, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>144     pub fn ProfileChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<ESim, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
145         let this = self;
146         unsafe {
147             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
148             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
149         }
150     }
151     #[cfg(feature = "Foundation")]
RemoveProfileChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>152     pub fn RemoveProfileChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
153         let this = self;
154         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
155     }
Discover(&self) -> ::windows::runtime::Result<ESimDiscoverResult>156     pub fn Discover(&self) -> ::windows::runtime::Result<ESimDiscoverResult> {
157         let this = &::windows::runtime::Interface::cast::<IESim2>(self)?;
158         unsafe {
159             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
160             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ESimDiscoverResult>(result__)
161         }
162     }
DiscoverWithServerAddressAndMatchingId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, serveraddress: Param0, matchingid: Param1) -> ::windows::runtime::Result<ESimDiscoverResult>163     pub fn DiscoverWithServerAddressAndMatchingId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, serveraddress: Param0, matchingid: Param1) -> ::windows::runtime::Result<ESimDiscoverResult> {
164         let this = &::windows::runtime::Interface::cast::<IESim2>(self)?;
165         unsafe {
166             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
167             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), serveraddress.into_param().abi(), matchingid.into_param().abi(), &mut result__).from_abi::<ESimDiscoverResult>(result__)
168         }
169     }
170     #[cfg(feature = "Foundation")]
DiscoverAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<ESimDiscoverResult>>171     pub fn DiscoverAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<ESimDiscoverResult>> {
172         let this = &::windows::runtime::Interface::cast::<IESim2>(self)?;
173         unsafe {
174             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
175             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<ESimDiscoverResult>>(result__)
176         }
177     }
178     #[cfg(feature = "Foundation")]
DiscoverWithServerAddressAndMatchingIdAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, serveraddress: Param0, matchingid: Param1) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<ESimDiscoverResult>>179     pub fn DiscoverWithServerAddressAndMatchingIdAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, serveraddress: Param0, matchingid: Param1) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<ESimDiscoverResult>> {
180         let this = &::windows::runtime::Interface::cast::<IESim2>(self)?;
181         unsafe {
182             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
183             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), serveraddress.into_param().abi(), matchingid.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<ESimDiscoverResult>>(result__)
184         }
185     }
186 }
187 unsafe impl ::windows::runtime::RuntimeType for ESim {
188     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.ESim;{6f6e6e26-f123-437d-8ced-dc1d2bc0c3a9})");
189 }
190 unsafe impl ::windows::runtime::Interface for ESim {
191     type Vtable = IESim_abi;
192     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1869508134, 61731, 17277, [140, 237, 220, 29, 43, 192, 195, 169]);
193 }
194 impl ::windows::runtime::RuntimeName for ESim {
195     const NAME: &'static str = "Windows.Networking.NetworkOperators.ESim";
196 }
197 impl ::std::convert::From<ESim> for ::windows::runtime::IUnknown {
from(value: ESim) -> Self198     fn from(value: ESim) -> Self {
199         unsafe { ::std::mem::transmute(value) }
200     }
201 }
202 impl ::std::convert::From<&ESim> for ::windows::runtime::IUnknown {
from(value: &ESim) -> Self203     fn from(value: &ESim) -> Self {
204         ::std::convert::From::from(::std::clone::Clone::clone(value))
205     }
206 }
207 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ESim {
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(self))
210     }
211 }
212 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ESim {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>213     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
214         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
215     }
216 }
217 impl ::std::convert::From<ESim> for ::windows::runtime::IInspectable {
from(value: ESim) -> Self218     fn from(value: ESim) -> Self {
219         value.0
220     }
221 }
222 impl ::std::convert::From<&ESim> for ::windows::runtime::IInspectable {
from(value: &ESim) -> Self223     fn from(value: &ESim) -> Self {
224         value.0.clone()
225     }
226 }
227 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ESim {
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::Owned(self.0)
230     }
231 }
232 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ESim {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>233     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
234         ::windows::runtime::Param::Borrowed(&self.0)
235     }
236 }
237 unsafe impl ::std::marker::Send for ESim {}
238 unsafe impl ::std::marker::Sync for ESim {}
239 #[repr(transparent)]
240 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
241 pub struct ESimAddedEventArgs(::windows::runtime::IInspectable);
242 impl ESimAddedEventArgs {
ESim(&self) -> ::windows::runtime::Result<ESim>243     pub fn ESim(&self) -> ::windows::runtime::Result<ESim> {
244         let this = self;
245         unsafe {
246             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
247             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ESim>(result__)
248         }
249     }
250 }
251 unsafe impl ::windows::runtime::RuntimeType for ESimAddedEventArgs {
252     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.ESimAddedEventArgs;{38bd0a58-4d5a-4d08-8da7-e73eff369ddd})");
253 }
254 unsafe impl ::windows::runtime::Interface for ESimAddedEventArgs {
255     type Vtable = IESimAddedEventArgs_abi;
256     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(951913048, 19802, 19720, [141, 167, 231, 62, 255, 54, 157, 221]);
257 }
258 impl ::windows::runtime::RuntimeName for ESimAddedEventArgs {
259     const NAME: &'static str = "Windows.Networking.NetworkOperators.ESimAddedEventArgs";
260 }
261 impl ::std::convert::From<ESimAddedEventArgs> for ::windows::runtime::IUnknown {
from(value: ESimAddedEventArgs) -> Self262     fn from(value: ESimAddedEventArgs) -> Self {
263         unsafe { ::std::mem::transmute(value) }
264     }
265 }
266 impl ::std::convert::From<&ESimAddedEventArgs> for ::windows::runtime::IUnknown {
from(value: &ESimAddedEventArgs) -> Self267     fn from(value: &ESimAddedEventArgs) -> Self {
268         ::std::convert::From::from(::std::clone::Clone::clone(value))
269     }
270 }
271 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ESimAddedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>272     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
273         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
274     }
275 }
276 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ESimAddedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>277     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
278         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
279     }
280 }
281 impl ::std::convert::From<ESimAddedEventArgs> for ::windows::runtime::IInspectable {
from(value: ESimAddedEventArgs) -> Self282     fn from(value: ESimAddedEventArgs) -> Self {
283         value.0
284     }
285 }
286 impl ::std::convert::From<&ESimAddedEventArgs> for ::windows::runtime::IInspectable {
from(value: &ESimAddedEventArgs) -> Self287     fn from(value: &ESimAddedEventArgs) -> Self {
288         value.0.clone()
289     }
290 }
291 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ESimAddedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>292     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
293         ::windows::runtime::Param::Owned(self.0)
294     }
295 }
296 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ESimAddedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>297     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
298         ::windows::runtime::Param::Borrowed(&self.0)
299     }
300 }
301 unsafe impl ::std::marker::Send for ESimAddedEventArgs {}
302 unsafe impl ::std::marker::Sync for ESimAddedEventArgs {}
303 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
304 #[repr(transparent)]
305 pub struct ESimAuthenticationPreference(pub i32);
306 impl ESimAuthenticationPreference {
307     pub const OnEntry: ESimAuthenticationPreference = ESimAuthenticationPreference(0i32);
308     pub const OnAction: ESimAuthenticationPreference = ESimAuthenticationPreference(1i32);
309     pub const Never: ESimAuthenticationPreference = ESimAuthenticationPreference(2i32);
310 }
311 impl ::std::convert::From<i32> for ESimAuthenticationPreference {
from(value: i32) -> Self312     fn from(value: i32) -> Self {
313         Self(value)
314     }
315 }
316 unsafe impl ::windows::runtime::Abi for ESimAuthenticationPreference {
317     type Abi = Self;
318     type DefaultType = Self;
319 }
320 unsafe impl ::windows::runtime::RuntimeType for ESimAuthenticationPreference {
321     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Networking.NetworkOperators.ESimAuthenticationPreference;i4)");
322 }
323 #[repr(transparent)]
324 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
325 pub struct ESimDiscoverEvent(::windows::runtime::IInspectable);
326 impl ESimDiscoverEvent {
MatchingId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>327     pub fn MatchingId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
328         let this = self;
329         unsafe {
330             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
331             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
332         }
333     }
RspServerAddress(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>334     pub fn RspServerAddress(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
335         let this = self;
336         unsafe {
337             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
338             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
339         }
340     }
341 }
342 unsafe impl ::windows::runtime::RuntimeType for ESimDiscoverEvent {
343     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.ESimDiscoverEvent;{e59ac3e3-39bc-5f6f-9321-0d4a182d261b})");
344 }
345 unsafe impl ::windows::runtime::Interface for ESimDiscoverEvent {
346     type Vtable = IESimDiscoverEvent_abi;
347     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3852125155, 14780, 24431, [147, 33, 13, 74, 24, 45, 38, 27]);
348 }
349 impl ::windows::runtime::RuntimeName for ESimDiscoverEvent {
350     const NAME: &'static str = "Windows.Networking.NetworkOperators.ESimDiscoverEvent";
351 }
352 impl ::std::convert::From<ESimDiscoverEvent> for ::windows::runtime::IUnknown {
from(value: ESimDiscoverEvent) -> Self353     fn from(value: ESimDiscoverEvent) -> Self {
354         unsafe { ::std::mem::transmute(value) }
355     }
356 }
357 impl ::std::convert::From<&ESimDiscoverEvent> for ::windows::runtime::IUnknown {
from(value: &ESimDiscoverEvent) -> Self358     fn from(value: &ESimDiscoverEvent) -> Self {
359         ::std::convert::From::from(::std::clone::Clone::clone(value))
360     }
361 }
362 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ESimDiscoverEvent {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>363     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
364         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
365     }
366 }
367 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ESimDiscoverEvent {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>368     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
369         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
370     }
371 }
372 impl ::std::convert::From<ESimDiscoverEvent> for ::windows::runtime::IInspectable {
from(value: ESimDiscoverEvent) -> Self373     fn from(value: ESimDiscoverEvent) -> Self {
374         value.0
375     }
376 }
377 impl ::std::convert::From<&ESimDiscoverEvent> for ::windows::runtime::IInspectable {
from(value: &ESimDiscoverEvent) -> Self378     fn from(value: &ESimDiscoverEvent) -> Self {
379         value.0.clone()
380     }
381 }
382 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ESimDiscoverEvent {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>383     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
384         ::windows::runtime::Param::Owned(self.0)
385     }
386 }
387 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ESimDiscoverEvent {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>388     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
389         ::windows::runtime::Param::Borrowed(&self.0)
390     }
391 }
392 unsafe impl ::std::marker::Send for ESimDiscoverEvent {}
393 unsafe impl ::std::marker::Sync for ESimDiscoverEvent {}
394 #[repr(transparent)]
395 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
396 pub struct ESimDiscoverResult(::windows::runtime::IInspectable);
397 impl ESimDiscoverResult {
398     #[cfg(feature = "Foundation_Collections")]
Events(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<ESimDiscoverEvent>>399     pub fn Events(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<ESimDiscoverEvent>> {
400         let this = self;
401         unsafe {
402             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
403             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<ESimDiscoverEvent>>(result__)
404         }
405     }
Kind(&self) -> ::windows::runtime::Result<ESimDiscoverResultKind>406     pub fn Kind(&self) -> ::windows::runtime::Result<ESimDiscoverResultKind> {
407         let this = self;
408         unsafe {
409             let mut result__: ESimDiscoverResultKind = ::std::mem::zeroed();
410             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ESimDiscoverResultKind>(result__)
411         }
412     }
ProfileMetadata(&self) -> ::windows::runtime::Result<ESimProfileMetadata>413     pub fn ProfileMetadata(&self) -> ::windows::runtime::Result<ESimProfileMetadata> {
414         let this = self;
415         unsafe {
416             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
417             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ESimProfileMetadata>(result__)
418         }
419     }
Result(&self) -> ::windows::runtime::Result<ESimOperationResult>420     pub fn Result(&self) -> ::windows::runtime::Result<ESimOperationResult> {
421         let this = self;
422         unsafe {
423             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
424             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ESimOperationResult>(result__)
425         }
426     }
427 }
428 unsafe impl ::windows::runtime::RuntimeType for ESimDiscoverResult {
429     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.ESimDiscoverResult;{56b4bb5e-ab2f-5ac6-b359-dd5a8e237926})");
430 }
431 unsafe impl ::windows::runtime::Interface for ESimDiscoverResult {
432     type Vtable = IESimDiscoverResult_abi;
433     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1454685022, 43823, 23238, [179, 89, 221, 90, 142, 35, 121, 38]);
434 }
435 impl ::windows::runtime::RuntimeName for ESimDiscoverResult {
436     const NAME: &'static str = "Windows.Networking.NetworkOperators.ESimDiscoverResult";
437 }
438 impl ::std::convert::From<ESimDiscoverResult> for ::windows::runtime::IUnknown {
from(value: ESimDiscoverResult) -> Self439     fn from(value: ESimDiscoverResult) -> Self {
440         unsafe { ::std::mem::transmute(value) }
441     }
442 }
443 impl ::std::convert::From<&ESimDiscoverResult> for ::windows::runtime::IUnknown {
from(value: &ESimDiscoverResult) -> Self444     fn from(value: &ESimDiscoverResult) -> Self {
445         ::std::convert::From::from(::std::clone::Clone::clone(value))
446     }
447 }
448 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ESimDiscoverResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>449     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
450         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
451     }
452 }
453 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ESimDiscoverResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>454     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
455         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
456     }
457 }
458 impl ::std::convert::From<ESimDiscoverResult> for ::windows::runtime::IInspectable {
from(value: ESimDiscoverResult) -> Self459     fn from(value: ESimDiscoverResult) -> Self {
460         value.0
461     }
462 }
463 impl ::std::convert::From<&ESimDiscoverResult> for ::windows::runtime::IInspectable {
from(value: &ESimDiscoverResult) -> Self464     fn from(value: &ESimDiscoverResult) -> Self {
465         value.0.clone()
466     }
467 }
468 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ESimDiscoverResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>469     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
470         ::windows::runtime::Param::Owned(self.0)
471     }
472 }
473 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ESimDiscoverResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>474     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
475         ::windows::runtime::Param::Borrowed(&self.0)
476     }
477 }
478 unsafe impl ::std::marker::Send for ESimDiscoverResult {}
479 unsafe impl ::std::marker::Sync for ESimDiscoverResult {}
480 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
481 #[repr(transparent)]
482 pub struct ESimDiscoverResultKind(pub i32);
483 impl ESimDiscoverResultKind {
484     pub const None: ESimDiscoverResultKind = ESimDiscoverResultKind(0i32);
485     pub const Events: ESimDiscoverResultKind = ESimDiscoverResultKind(1i32);
486     pub const ProfileMetadata: ESimDiscoverResultKind = ESimDiscoverResultKind(2i32);
487 }
488 impl ::std::convert::From<i32> for ESimDiscoverResultKind {
from(value: i32) -> Self489     fn from(value: i32) -> Self {
490         Self(value)
491     }
492 }
493 unsafe impl ::windows::runtime::Abi for ESimDiscoverResultKind {
494     type Abi = Self;
495     type DefaultType = Self;
496 }
497 unsafe impl ::windows::runtime::RuntimeType for ESimDiscoverResultKind {
498     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Networking.NetworkOperators.ESimDiscoverResultKind;i4)");
499 }
500 #[repr(transparent)]
501 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
502 pub struct ESimDownloadProfileMetadataResult(::windows::runtime::IInspectable);
503 impl ESimDownloadProfileMetadataResult {
Result(&self) -> ::windows::runtime::Result<ESimOperationResult>504     pub fn Result(&self) -> ::windows::runtime::Result<ESimOperationResult> {
505         let this = self;
506         unsafe {
507             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
508             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ESimOperationResult>(result__)
509         }
510     }
ProfileMetadata(&self) -> ::windows::runtime::Result<ESimProfileMetadata>511     pub fn ProfileMetadata(&self) -> ::windows::runtime::Result<ESimProfileMetadata> {
512         let this = self;
513         unsafe {
514             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
515             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ESimProfileMetadata>(result__)
516         }
517     }
518 }
519 unsafe impl ::windows::runtime::RuntimeType for ESimDownloadProfileMetadataResult {
520     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.ESimDownloadProfileMetadataResult;{c4234d9e-5ad6-426d-8d00-4434f449afec})");
521 }
522 unsafe impl ::windows::runtime::Interface for ESimDownloadProfileMetadataResult {
523     type Vtable = IESimDownloadProfileMetadataResult_abi;
524     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3290647966, 23254, 17005, [141, 0, 68, 52, 244, 73, 175, 236]);
525 }
526 impl ::windows::runtime::RuntimeName for ESimDownloadProfileMetadataResult {
527     const NAME: &'static str = "Windows.Networking.NetworkOperators.ESimDownloadProfileMetadataResult";
528 }
529 impl ::std::convert::From<ESimDownloadProfileMetadataResult> for ::windows::runtime::IUnknown {
from(value: ESimDownloadProfileMetadataResult) -> Self530     fn from(value: ESimDownloadProfileMetadataResult) -> Self {
531         unsafe { ::std::mem::transmute(value) }
532     }
533 }
534 impl ::std::convert::From<&ESimDownloadProfileMetadataResult> for ::windows::runtime::IUnknown {
from(value: &ESimDownloadProfileMetadataResult) -> Self535     fn from(value: &ESimDownloadProfileMetadataResult) -> Self {
536         ::std::convert::From::from(::std::clone::Clone::clone(value))
537     }
538 }
539 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ESimDownloadProfileMetadataResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>540     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
541         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
542     }
543 }
544 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ESimDownloadProfileMetadataResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>545     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
546         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
547     }
548 }
549 impl ::std::convert::From<ESimDownloadProfileMetadataResult> for ::windows::runtime::IInspectable {
from(value: ESimDownloadProfileMetadataResult) -> Self550     fn from(value: ESimDownloadProfileMetadataResult) -> Self {
551         value.0
552     }
553 }
554 impl ::std::convert::From<&ESimDownloadProfileMetadataResult> for ::windows::runtime::IInspectable {
from(value: &ESimDownloadProfileMetadataResult) -> Self555     fn from(value: &ESimDownloadProfileMetadataResult) -> Self {
556         value.0.clone()
557     }
558 }
559 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ESimDownloadProfileMetadataResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>560     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
561         ::windows::runtime::Param::Owned(self.0)
562     }
563 }
564 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ESimDownloadProfileMetadataResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>565     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
566         ::windows::runtime::Param::Borrowed(&self.0)
567     }
568 }
569 unsafe impl ::std::marker::Send for ESimDownloadProfileMetadataResult {}
570 unsafe impl ::std::marker::Sync for ESimDownloadProfileMetadataResult {}
571 pub struct ESimManager {}
572 impl ESimManager {
ServiceInfo() -> ::windows::runtime::Result<ESimServiceInfo>573     pub fn ServiceInfo() -> ::windows::runtime::Result<ESimServiceInfo> {
574         Self::IESimManagerStatics(|this| unsafe {
575             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
576             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ESimServiceInfo>(result__)
577         })
578     }
TryCreateESimWatcher() -> ::windows::runtime::Result<ESimWatcher>579     pub fn TryCreateESimWatcher() -> ::windows::runtime::Result<ESimWatcher> {
580         Self::IESimManagerStatics(|this| unsafe {
581             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
582             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ESimWatcher>(result__)
583         })
584     }
585     #[cfg(feature = "Foundation")]
ServiceInfoChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>586     pub fn ServiceInfoChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventHandler<::windows::runtime::IInspectable>>>(handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
587         Self::IESimManagerStatics(|this| unsafe {
588             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
589             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
590         })
591     }
592     #[cfg(feature = "Foundation")]
RemoveServiceInfoChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(token: Param0) -> ::windows::runtime::Result<()>593     pub fn RemoveServiceInfoChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(token: Param0) -> ::windows::runtime::Result<()> {
594         Self::IESimManagerStatics(|this| unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() })
595     }
IESimManagerStatics<R, F: FnOnce(&IESimManagerStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>596     pub fn IESimManagerStatics<R, F: FnOnce(&IESimManagerStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
597         static mut SHARED: ::windows::runtime::FactoryCache<ESimManager, IESimManagerStatics> = ::windows::runtime::FactoryCache::new();
598         unsafe { SHARED.call(callback) }
599     }
600 }
601 impl ::windows::runtime::RuntimeName for ESimManager {
602     const NAME: &'static str = "Windows.Networking.NetworkOperators.ESimManager";
603 }
604 #[repr(transparent)]
605 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
606 pub struct ESimOperationResult(::windows::runtime::IInspectable);
607 impl ESimOperationResult {
Status(&self) -> ::windows::runtime::Result<ESimOperationStatus>608     pub fn Status(&self) -> ::windows::runtime::Result<ESimOperationStatus> {
609         let this = self;
610         unsafe {
611             let mut result__: ESimOperationStatus = ::std::mem::zeroed();
612             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ESimOperationStatus>(result__)
613         }
614     }
615 }
616 unsafe impl ::windows::runtime::RuntimeType for ESimOperationResult {
617     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.ESimOperationResult;{a67b63b1-309b-4e77-9e7e-cd93f1ddc7b9})");
618 }
619 unsafe impl ::windows::runtime::Interface for ESimOperationResult {
620     type Vtable = IESimOperationResult_abi;
621     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2793104305, 12443, 20087, [158, 126, 205, 147, 241, 221, 199, 185]);
622 }
623 impl ::windows::runtime::RuntimeName for ESimOperationResult {
624     const NAME: &'static str = "Windows.Networking.NetworkOperators.ESimOperationResult";
625 }
626 impl ::std::convert::From<ESimOperationResult> for ::windows::runtime::IUnknown {
from(value: ESimOperationResult) -> Self627     fn from(value: ESimOperationResult) -> Self {
628         unsafe { ::std::mem::transmute(value) }
629     }
630 }
631 impl ::std::convert::From<&ESimOperationResult> for ::windows::runtime::IUnknown {
from(value: &ESimOperationResult) -> Self632     fn from(value: &ESimOperationResult) -> Self {
633         ::std::convert::From::from(::std::clone::Clone::clone(value))
634     }
635 }
636 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ESimOperationResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>637     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
638         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
639     }
640 }
641 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ESimOperationResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>642     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
643         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
644     }
645 }
646 impl ::std::convert::From<ESimOperationResult> for ::windows::runtime::IInspectable {
from(value: ESimOperationResult) -> Self647     fn from(value: ESimOperationResult) -> Self {
648         value.0
649     }
650 }
651 impl ::std::convert::From<&ESimOperationResult> for ::windows::runtime::IInspectable {
from(value: &ESimOperationResult) -> Self652     fn from(value: &ESimOperationResult) -> Self {
653         value.0.clone()
654     }
655 }
656 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ESimOperationResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>657     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
658         ::windows::runtime::Param::Owned(self.0)
659     }
660 }
661 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ESimOperationResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>662     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
663         ::windows::runtime::Param::Borrowed(&self.0)
664     }
665 }
666 unsafe impl ::std::marker::Send for ESimOperationResult {}
667 unsafe impl ::std::marker::Sync for ESimOperationResult {}
668 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
669 #[repr(transparent)]
670 pub struct ESimOperationStatus(pub i32);
671 impl ESimOperationStatus {
672     pub const Success: ESimOperationStatus = ESimOperationStatus(0i32);
673     pub const NotAuthorized: ESimOperationStatus = ESimOperationStatus(1i32);
674     pub const NotFound: ESimOperationStatus = ESimOperationStatus(2i32);
675     pub const PolicyViolation: ESimOperationStatus = ESimOperationStatus(3i32);
676     pub const InsufficientSpaceOnCard: ESimOperationStatus = ESimOperationStatus(4i32);
677     pub const ServerFailure: ESimOperationStatus = ESimOperationStatus(5i32);
678     pub const ServerNotReachable: ESimOperationStatus = ESimOperationStatus(6i32);
679     pub const TimeoutWaitingForUserConsent: ESimOperationStatus = ESimOperationStatus(7i32);
680     pub const IncorrectConfirmationCode: ESimOperationStatus = ESimOperationStatus(8i32);
681     pub const ConfirmationCodeMaxRetriesExceeded: ESimOperationStatus = ESimOperationStatus(9i32);
682     pub const CardRemoved: ESimOperationStatus = ESimOperationStatus(10i32);
683     pub const CardBusy: ESimOperationStatus = ESimOperationStatus(11i32);
684     pub const Other: ESimOperationStatus = ESimOperationStatus(12i32);
685     pub const CardGeneralFailure: ESimOperationStatus = ESimOperationStatus(13i32);
686     pub const ConfirmationCodeMissing: ESimOperationStatus = ESimOperationStatus(14i32);
687     pub const InvalidMatchingId: ESimOperationStatus = ESimOperationStatus(15i32);
688     pub const NoEligibleProfileForThisDevice: ESimOperationStatus = ESimOperationStatus(16i32);
689     pub const OperationAborted: ESimOperationStatus = ESimOperationStatus(17i32);
690     pub const EidMismatch: ESimOperationStatus = ESimOperationStatus(18i32);
691     pub const ProfileNotAvailableForNewBinding: ESimOperationStatus = ESimOperationStatus(19i32);
692     pub const ProfileNotReleasedByOperator: ESimOperationStatus = ESimOperationStatus(20i32);
693     pub const OperationProhibitedByProfileClass: ESimOperationStatus = ESimOperationStatus(21i32);
694     pub const ProfileNotPresent: ESimOperationStatus = ESimOperationStatus(22i32);
695     pub const NoCorrespondingRequest: ESimOperationStatus = ESimOperationStatus(23i32);
696     pub const TimeoutWaitingForResponse: ESimOperationStatus = ESimOperationStatus(24i32);
697     pub const IccidAlreadyExists: ESimOperationStatus = ESimOperationStatus(25i32);
698     pub const ProfileProcessingError: ESimOperationStatus = ESimOperationStatus(26i32);
699     pub const ServerNotTrusted: ESimOperationStatus = ESimOperationStatus(27i32);
700     pub const ProfileDownloadMaxRetriesExceeded: ESimOperationStatus = ESimOperationStatus(28i32);
701 }
702 impl ::std::convert::From<i32> for ESimOperationStatus {
from(value: i32) -> Self703     fn from(value: i32) -> Self {
704         Self(value)
705     }
706 }
707 unsafe impl ::windows::runtime::Abi for ESimOperationStatus {
708     type Abi = Self;
709     type DefaultType = Self;
710 }
711 unsafe impl ::windows::runtime::RuntimeType for ESimOperationStatus {
712     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Networking.NetworkOperators.ESimOperationStatus;i4)");
713 }
714 #[repr(transparent)]
715 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
716 pub struct ESimPolicy(::windows::runtime::IInspectable);
717 impl ESimPolicy {
ShouldEnableManagingUi(&self) -> ::windows::runtime::Result<bool>718     pub fn ShouldEnableManagingUi(&self) -> ::windows::runtime::Result<bool> {
719         let this = self;
720         unsafe {
721             let mut result__: bool = ::std::mem::zeroed();
722             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
723         }
724     }
725 }
726 unsafe impl ::windows::runtime::RuntimeType for ESimPolicy {
727     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.ESimPolicy;{41e1b99d-cf7e-4315-882b-6f1e74b0d38f})");
728 }
729 unsafe impl ::windows::runtime::Interface for ESimPolicy {
730     type Vtable = IESimPolicy_abi;
731     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1105312157, 53118, 17173, [136, 43, 111, 30, 116, 176, 211, 143]);
732 }
733 impl ::windows::runtime::RuntimeName for ESimPolicy {
734     const NAME: &'static str = "Windows.Networking.NetworkOperators.ESimPolicy";
735 }
736 impl ::std::convert::From<ESimPolicy> for ::windows::runtime::IUnknown {
from(value: ESimPolicy) -> Self737     fn from(value: ESimPolicy) -> Self {
738         unsafe { ::std::mem::transmute(value) }
739     }
740 }
741 impl ::std::convert::From<&ESimPolicy> for ::windows::runtime::IUnknown {
from(value: &ESimPolicy) -> Self742     fn from(value: &ESimPolicy) -> Self {
743         ::std::convert::From::from(::std::clone::Clone::clone(value))
744     }
745 }
746 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ESimPolicy {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>747     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
748         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
749     }
750 }
751 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ESimPolicy {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>752     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
753         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
754     }
755 }
756 impl ::std::convert::From<ESimPolicy> for ::windows::runtime::IInspectable {
from(value: ESimPolicy) -> Self757     fn from(value: ESimPolicy) -> Self {
758         value.0
759     }
760 }
761 impl ::std::convert::From<&ESimPolicy> for ::windows::runtime::IInspectable {
from(value: &ESimPolicy) -> Self762     fn from(value: &ESimPolicy) -> Self {
763         value.0.clone()
764     }
765 }
766 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ESimPolicy {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>767     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
768         ::windows::runtime::Param::Owned(self.0)
769     }
770 }
771 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ESimPolicy {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>772     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
773         ::windows::runtime::Param::Borrowed(&self.0)
774     }
775 }
776 unsafe impl ::std::marker::Send for ESimPolicy {}
777 unsafe impl ::std::marker::Sync for ESimPolicy {}
778 #[repr(transparent)]
779 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
780 pub struct ESimProfile(::windows::runtime::IInspectable);
781 impl ESimProfile {
Class(&self) -> ::windows::runtime::Result<ESimProfileClass>782     pub fn Class(&self) -> ::windows::runtime::Result<ESimProfileClass> {
783         let this = self;
784         unsafe {
785             let mut result__: ESimProfileClass = ::std::mem::zeroed();
786             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ESimProfileClass>(result__)
787         }
788     }
Nickname(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>789     pub fn Nickname(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
790         let this = self;
791         unsafe {
792             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
793             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
794         }
795     }
Policy(&self) -> ::windows::runtime::Result<ESimProfilePolicy>796     pub fn Policy(&self) -> ::windows::runtime::Result<ESimProfilePolicy> {
797         let this = self;
798         unsafe {
799             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
800             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ESimProfilePolicy>(result__)
801         }
802     }
Id(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>803     pub fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
804         let this = self;
805         unsafe {
806             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
807             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
808         }
809     }
810     #[cfg(feature = "Storage_Streams")]
ProviderIcon(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IRandomAccessStreamReference>811     pub fn ProviderIcon(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IRandomAccessStreamReference> {
812         let this = self;
813         unsafe {
814             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
815             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Storage::Streams::IRandomAccessStreamReference>(result__)
816         }
817     }
ProviderId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>818     pub fn ProviderId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
819         let this = self;
820         unsafe {
821             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
822             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
823         }
824     }
ProviderName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>825     pub fn ProviderName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
826         let this = self;
827         unsafe {
828             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
829             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
830         }
831     }
State(&self) -> ::windows::runtime::Result<ESimProfileState>832     pub fn State(&self) -> ::windows::runtime::Result<ESimProfileState> {
833         let this = self;
834         unsafe {
835             let mut result__: ESimProfileState = ::std::mem::zeroed();
836             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ESimProfileState>(result__)
837         }
838     }
839     #[cfg(feature = "Foundation")]
DisableAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<ESimOperationResult>>840     pub fn DisableAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<ESimOperationResult>> {
841         let this = self;
842         unsafe {
843             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
844             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<ESimOperationResult>>(result__)
845         }
846     }
847     #[cfg(feature = "Foundation")]
EnableAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<ESimOperationResult>>848     pub fn EnableAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<ESimOperationResult>> {
849         let this = self;
850         unsafe {
851             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
852             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<ESimOperationResult>>(result__)
853         }
854     }
855     #[cfg(feature = "Foundation")]
SetNicknameAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, newnickname: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<ESimOperationResult>>856     pub fn SetNicknameAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, newnickname: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<ESimOperationResult>> {
857         let this = self;
858         unsafe {
859             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
860             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), newnickname.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<ESimOperationResult>>(result__)
861         }
862     }
863 }
864 unsafe impl ::windows::runtime::RuntimeType for ESimProfile {
865     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.ESimProfile;{ee1e7880-06a9-4027-b4f8-ddb23d7810e0})");
866 }
867 unsafe impl ::windows::runtime::Interface for ESimProfile {
868     type Vtable = IESimProfile_abi;
869     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3994974336, 1705, 16423, [180, 248, 221, 178, 61, 120, 16, 224]);
870 }
871 impl ::windows::runtime::RuntimeName for ESimProfile {
872     const NAME: &'static str = "Windows.Networking.NetworkOperators.ESimProfile";
873 }
874 impl ::std::convert::From<ESimProfile> for ::windows::runtime::IUnknown {
from(value: ESimProfile) -> Self875     fn from(value: ESimProfile) -> Self {
876         unsafe { ::std::mem::transmute(value) }
877     }
878 }
879 impl ::std::convert::From<&ESimProfile> for ::windows::runtime::IUnknown {
from(value: &ESimProfile) -> Self880     fn from(value: &ESimProfile) -> Self {
881         ::std::convert::From::from(::std::clone::Clone::clone(value))
882     }
883 }
884 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ESimProfile {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>885     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
886         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
887     }
888 }
889 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ESimProfile {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>890     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
891         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
892     }
893 }
894 impl ::std::convert::From<ESimProfile> for ::windows::runtime::IInspectable {
from(value: ESimProfile) -> Self895     fn from(value: ESimProfile) -> Self {
896         value.0
897     }
898 }
899 impl ::std::convert::From<&ESimProfile> for ::windows::runtime::IInspectable {
from(value: &ESimProfile) -> Self900     fn from(value: &ESimProfile) -> Self {
901         value.0.clone()
902     }
903 }
904 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ESimProfile {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>905     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
906         ::windows::runtime::Param::Owned(self.0)
907     }
908 }
909 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ESimProfile {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>910     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
911         ::windows::runtime::Param::Borrowed(&self.0)
912     }
913 }
914 unsafe impl ::std::marker::Send for ESimProfile {}
915 unsafe impl ::std::marker::Sync for ESimProfile {}
916 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
917 #[repr(transparent)]
918 pub struct ESimProfileClass(pub i32);
919 impl ESimProfileClass {
920     pub const Operational: ESimProfileClass = ESimProfileClass(0i32);
921     pub const Test: ESimProfileClass = ESimProfileClass(1i32);
922     pub const Provisioning: ESimProfileClass = ESimProfileClass(2i32);
923 }
924 impl ::std::convert::From<i32> for ESimProfileClass {
from(value: i32) -> Self925     fn from(value: i32) -> Self {
926         Self(value)
927     }
928 }
929 unsafe impl ::windows::runtime::Abi for ESimProfileClass {
930     type Abi = Self;
931     type DefaultType = Self;
932 }
933 unsafe impl ::windows::runtime::RuntimeType for ESimProfileClass {
934     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Networking.NetworkOperators.ESimProfileClass;i4)");
935 }
936 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
937 #[repr(C)]
938 pub struct ESimProfileInstallProgress {
939     pub TotalSizeInBytes: i32,
940     pub InstalledSizeInBytes: i32,
941 }
942 impl ESimProfileInstallProgress {}
943 impl ::std::default::Default for ESimProfileInstallProgress {
default() -> Self944     fn default() -> Self {
945         unsafe { ::std::mem::zeroed() }
946     }
947 }
948 impl ::std::fmt::Debug for ESimProfileInstallProgress {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result949     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
950         fmt.debug_struct("ESimProfileInstallProgress").field("TotalSizeInBytes", &self.TotalSizeInBytes).field("InstalledSizeInBytes", &self.InstalledSizeInBytes).finish()
951     }
952 }
953 impl ::std::cmp::PartialEq for ESimProfileInstallProgress {
eq(&self, other: &Self) -> bool954     fn eq(&self, other: &Self) -> bool {
955         self.TotalSizeInBytes == other.TotalSizeInBytes && self.InstalledSizeInBytes == other.InstalledSizeInBytes
956     }
957 }
958 impl ::std::cmp::Eq for ESimProfileInstallProgress {}
959 unsafe impl ::windows::runtime::Abi for ESimProfileInstallProgress {
960     type Abi = Self;
961     type DefaultType = Self;
962 }
963 unsafe impl ::windows::runtime::RuntimeType for ESimProfileInstallProgress {
964     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"struct(Windows.Networking.NetworkOperators.ESimProfileInstallProgress;i4;i4)");
965 }
966 #[repr(transparent)]
967 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
968 pub struct ESimProfileMetadata(::windows::runtime::IInspectable);
969 impl ESimProfileMetadata {
IsConfirmationCodeRequired(&self) -> ::windows::runtime::Result<bool>970     pub fn IsConfirmationCodeRequired(&self) -> ::windows::runtime::Result<bool> {
971         let this = self;
972         unsafe {
973             let mut result__: bool = ::std::mem::zeroed();
974             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
975         }
976     }
Policy(&self) -> ::windows::runtime::Result<ESimProfilePolicy>977     pub fn Policy(&self) -> ::windows::runtime::Result<ESimProfilePolicy> {
978         let this = self;
979         unsafe {
980             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
981             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ESimProfilePolicy>(result__)
982         }
983     }
Id(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>984     pub fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
985         let this = self;
986         unsafe {
987             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
988             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
989         }
990     }
991     #[cfg(feature = "Storage_Streams")]
ProviderIcon(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IRandomAccessStreamReference>992     pub fn ProviderIcon(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IRandomAccessStreamReference> {
993         let this = self;
994         unsafe {
995             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
996             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Storage::Streams::IRandomAccessStreamReference>(result__)
997         }
998     }
ProviderId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>999     pub fn ProviderId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1000         let this = self;
1001         unsafe {
1002             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1003             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1004         }
1005     }
ProviderName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1006     pub fn ProviderName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1007         let this = self;
1008         unsafe {
1009             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1010             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1011         }
1012     }
State(&self) -> ::windows::runtime::Result<ESimProfileMetadataState>1013     pub fn State(&self) -> ::windows::runtime::Result<ESimProfileMetadataState> {
1014         let this = self;
1015         unsafe {
1016             let mut result__: ESimProfileMetadataState = ::std::mem::zeroed();
1017             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ESimProfileMetadataState>(result__)
1018         }
1019     }
1020     #[cfg(feature = "Foundation")]
DenyInstallAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<ESimOperationResult>>1021     pub fn DenyInstallAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<ESimOperationResult>> {
1022         let this = self;
1023         unsafe {
1024             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1025             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<ESimOperationResult>>(result__)
1026         }
1027     }
1028     #[cfg(feature = "Foundation")]
ConfirmInstallAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperationWithProgress<ESimOperationResult, ESimProfileInstallProgress>>1029     pub fn ConfirmInstallAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperationWithProgress<ESimOperationResult, ESimProfileInstallProgress>> {
1030         let this = self;
1031         unsafe {
1032             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1033             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperationWithProgress<ESimOperationResult, ESimProfileInstallProgress>>(result__)
1034         }
1035     }
1036     #[cfg(feature = "Foundation")]
ConfirmInstallWithConfirmationCodeAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, confirmationcode: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperationWithProgress<ESimOperationResult, ESimProfileInstallProgress>>1037     pub fn ConfirmInstallWithConfirmationCodeAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, confirmationcode: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperationWithProgress<ESimOperationResult, ESimProfileInstallProgress>> {
1038         let this = self;
1039         unsafe {
1040             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1041             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), confirmationcode.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperationWithProgress<ESimOperationResult, ESimProfileInstallProgress>>(result__)
1042         }
1043     }
1044     #[cfg(feature = "Foundation")]
PostponeInstallAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<ESimOperationResult>>1045     pub fn PostponeInstallAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<ESimOperationResult>> {
1046         let this = self;
1047         unsafe {
1048             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1049             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<ESimOperationResult>>(result__)
1050         }
1051     }
1052     #[cfg(feature = "Foundation")]
StateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<ESimProfileMetadata, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>1053     pub fn StateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<ESimProfileMetadata, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
1054         let this = self;
1055         unsafe {
1056             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1057             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
1058         }
1059     }
1060     #[cfg(feature = "Foundation")]
RemoveStateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>1061     pub fn RemoveStateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
1062         let this = self;
1063         unsafe { (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
1064     }
1065 }
1066 unsafe impl ::windows::runtime::RuntimeType for ESimProfileMetadata {
1067     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.ESimProfileMetadata;{ed25831f-90db-498d-a7b4-ebce807d3c23})");
1068 }
1069 unsafe impl ::windows::runtime::Interface for ESimProfileMetadata {
1070     type Vtable = IESimProfileMetadata_abi;
1071     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3978658591, 37083, 18829, [167, 180, 235, 206, 128, 125, 60, 35]);
1072 }
1073 impl ::windows::runtime::RuntimeName for ESimProfileMetadata {
1074     const NAME: &'static str = "Windows.Networking.NetworkOperators.ESimProfileMetadata";
1075 }
1076 impl ::std::convert::From<ESimProfileMetadata> for ::windows::runtime::IUnknown {
from(value: ESimProfileMetadata) -> Self1077     fn from(value: ESimProfileMetadata) -> Self {
1078         unsafe { ::std::mem::transmute(value) }
1079     }
1080 }
1081 impl ::std::convert::From<&ESimProfileMetadata> for ::windows::runtime::IUnknown {
from(value: &ESimProfileMetadata) -> Self1082     fn from(value: &ESimProfileMetadata) -> Self {
1083         ::std::convert::From::from(::std::clone::Clone::clone(value))
1084     }
1085 }
1086 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ESimProfileMetadata {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1087     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1088         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1089     }
1090 }
1091 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ESimProfileMetadata {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1092     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1093         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1094     }
1095 }
1096 impl ::std::convert::From<ESimProfileMetadata> for ::windows::runtime::IInspectable {
from(value: ESimProfileMetadata) -> Self1097     fn from(value: ESimProfileMetadata) -> Self {
1098         value.0
1099     }
1100 }
1101 impl ::std::convert::From<&ESimProfileMetadata> for ::windows::runtime::IInspectable {
from(value: &ESimProfileMetadata) -> Self1102     fn from(value: &ESimProfileMetadata) -> Self {
1103         value.0.clone()
1104     }
1105 }
1106 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ESimProfileMetadata {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1107     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1108         ::windows::runtime::Param::Owned(self.0)
1109     }
1110 }
1111 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ESimProfileMetadata {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1112     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1113         ::windows::runtime::Param::Borrowed(&self.0)
1114     }
1115 }
1116 unsafe impl ::std::marker::Send for ESimProfileMetadata {}
1117 unsafe impl ::std::marker::Sync for ESimProfileMetadata {}
1118 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1119 #[repr(transparent)]
1120 pub struct ESimProfileMetadataState(pub i32);
1121 impl ESimProfileMetadataState {
1122     pub const Unknown: ESimProfileMetadataState = ESimProfileMetadataState(0i32);
1123     pub const WaitingForInstall: ESimProfileMetadataState = ESimProfileMetadataState(1i32);
1124     pub const Downloading: ESimProfileMetadataState = ESimProfileMetadataState(2i32);
1125     pub const Installing: ESimProfileMetadataState = ESimProfileMetadataState(3i32);
1126     pub const Expired: ESimProfileMetadataState = ESimProfileMetadataState(4i32);
1127     pub const RejectingDownload: ESimProfileMetadataState = ESimProfileMetadataState(5i32);
1128     pub const NoLongerAvailable: ESimProfileMetadataState = ESimProfileMetadataState(6i32);
1129     pub const DeniedByPolicy: ESimProfileMetadataState = ESimProfileMetadataState(7i32);
1130 }
1131 impl ::std::convert::From<i32> for ESimProfileMetadataState {
from(value: i32) -> Self1132     fn from(value: i32) -> Self {
1133         Self(value)
1134     }
1135 }
1136 unsafe impl ::windows::runtime::Abi for ESimProfileMetadataState {
1137     type Abi = Self;
1138     type DefaultType = Self;
1139 }
1140 unsafe impl ::windows::runtime::RuntimeType for ESimProfileMetadataState {
1141     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Networking.NetworkOperators.ESimProfileMetadataState;i4)");
1142 }
1143 #[repr(transparent)]
1144 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1145 pub struct ESimProfilePolicy(::windows::runtime::IInspectable);
1146 impl ESimProfilePolicy {
CanDelete(&self) -> ::windows::runtime::Result<bool>1147     pub fn CanDelete(&self) -> ::windows::runtime::Result<bool> {
1148         let this = self;
1149         unsafe {
1150             let mut result__: bool = ::std::mem::zeroed();
1151             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
1152         }
1153     }
CanDisable(&self) -> ::windows::runtime::Result<bool>1154     pub fn CanDisable(&self) -> ::windows::runtime::Result<bool> {
1155         let this = self;
1156         unsafe {
1157             let mut result__: bool = ::std::mem::zeroed();
1158             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
1159         }
1160     }
IsManagedByEnterprise(&self) -> ::windows::runtime::Result<bool>1161     pub fn IsManagedByEnterprise(&self) -> ::windows::runtime::Result<bool> {
1162         let this = self;
1163         unsafe {
1164             let mut result__: bool = ::std::mem::zeroed();
1165             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
1166         }
1167     }
1168 }
1169 unsafe impl ::windows::runtime::RuntimeType for ESimProfilePolicy {
1170     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.ESimProfilePolicy;{e6dd0f1d-9c5c-46c5-a289-a948999bf062})");
1171 }
1172 unsafe impl ::windows::runtime::Interface for ESimProfilePolicy {
1173     type Vtable = IESimProfilePolicy_abi;
1174     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3873247005, 40028, 18117, [162, 137, 169, 72, 153, 155, 240, 98]);
1175 }
1176 impl ::windows::runtime::RuntimeName for ESimProfilePolicy {
1177     const NAME: &'static str = "Windows.Networking.NetworkOperators.ESimProfilePolicy";
1178 }
1179 impl ::std::convert::From<ESimProfilePolicy> for ::windows::runtime::IUnknown {
from(value: ESimProfilePolicy) -> Self1180     fn from(value: ESimProfilePolicy) -> Self {
1181         unsafe { ::std::mem::transmute(value) }
1182     }
1183 }
1184 impl ::std::convert::From<&ESimProfilePolicy> for ::windows::runtime::IUnknown {
from(value: &ESimProfilePolicy) -> Self1185     fn from(value: &ESimProfilePolicy) -> Self {
1186         ::std::convert::From::from(::std::clone::Clone::clone(value))
1187     }
1188 }
1189 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ESimProfilePolicy {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1190     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1191         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1192     }
1193 }
1194 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ESimProfilePolicy {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1195     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1196         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1197     }
1198 }
1199 impl ::std::convert::From<ESimProfilePolicy> for ::windows::runtime::IInspectable {
from(value: ESimProfilePolicy) -> Self1200     fn from(value: ESimProfilePolicy) -> Self {
1201         value.0
1202     }
1203 }
1204 impl ::std::convert::From<&ESimProfilePolicy> for ::windows::runtime::IInspectable {
from(value: &ESimProfilePolicy) -> Self1205     fn from(value: &ESimProfilePolicy) -> Self {
1206         value.0.clone()
1207     }
1208 }
1209 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ESimProfilePolicy {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1210     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1211         ::windows::runtime::Param::Owned(self.0)
1212     }
1213 }
1214 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ESimProfilePolicy {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1215     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1216         ::windows::runtime::Param::Borrowed(&self.0)
1217     }
1218 }
1219 unsafe impl ::std::marker::Send for ESimProfilePolicy {}
1220 unsafe impl ::std::marker::Sync for ESimProfilePolicy {}
1221 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1222 #[repr(transparent)]
1223 pub struct ESimProfileState(pub i32);
1224 impl ESimProfileState {
1225     pub const Unknown: ESimProfileState = ESimProfileState(0i32);
1226     pub const Disabled: ESimProfileState = ESimProfileState(1i32);
1227     pub const Enabled: ESimProfileState = ESimProfileState(2i32);
1228     pub const Deleted: ESimProfileState = ESimProfileState(3i32);
1229 }
1230 impl ::std::convert::From<i32> for ESimProfileState {
from(value: i32) -> Self1231     fn from(value: i32) -> Self {
1232         Self(value)
1233     }
1234 }
1235 unsafe impl ::windows::runtime::Abi for ESimProfileState {
1236     type Abi = Self;
1237     type DefaultType = Self;
1238 }
1239 unsafe impl ::windows::runtime::RuntimeType for ESimProfileState {
1240     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Networking.NetworkOperators.ESimProfileState;i4)");
1241 }
1242 #[repr(transparent)]
1243 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1244 pub struct ESimRemovedEventArgs(::windows::runtime::IInspectable);
1245 impl ESimRemovedEventArgs {
ESim(&self) -> ::windows::runtime::Result<ESim>1246     pub fn ESim(&self) -> ::windows::runtime::Result<ESim> {
1247         let this = self;
1248         unsafe {
1249             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1250             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ESim>(result__)
1251         }
1252     }
1253 }
1254 unsafe impl ::windows::runtime::RuntimeType for ESimRemovedEventArgs {
1255     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.ESimRemovedEventArgs;{dec5277b-2fd9-4ed9-8376-d9b5e41278a3})");
1256 }
1257 unsafe impl ::windows::runtime::Interface for ESimRemovedEventArgs {
1258     type Vtable = IESimRemovedEventArgs_abi;
1259     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3737462651, 12249, 20185, [131, 118, 217, 181, 228, 18, 120, 163]);
1260 }
1261 impl ::windows::runtime::RuntimeName for ESimRemovedEventArgs {
1262     const NAME: &'static str = "Windows.Networking.NetworkOperators.ESimRemovedEventArgs";
1263 }
1264 impl ::std::convert::From<ESimRemovedEventArgs> for ::windows::runtime::IUnknown {
from(value: ESimRemovedEventArgs) -> Self1265     fn from(value: ESimRemovedEventArgs) -> Self {
1266         unsafe { ::std::mem::transmute(value) }
1267     }
1268 }
1269 impl ::std::convert::From<&ESimRemovedEventArgs> for ::windows::runtime::IUnknown {
from(value: &ESimRemovedEventArgs) -> Self1270     fn from(value: &ESimRemovedEventArgs) -> Self {
1271         ::std::convert::From::from(::std::clone::Clone::clone(value))
1272     }
1273 }
1274 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ESimRemovedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1275     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1276         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1277     }
1278 }
1279 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ESimRemovedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1280     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1281         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1282     }
1283 }
1284 impl ::std::convert::From<ESimRemovedEventArgs> for ::windows::runtime::IInspectable {
from(value: ESimRemovedEventArgs) -> Self1285     fn from(value: ESimRemovedEventArgs) -> Self {
1286         value.0
1287     }
1288 }
1289 impl ::std::convert::From<&ESimRemovedEventArgs> for ::windows::runtime::IInspectable {
from(value: &ESimRemovedEventArgs) -> Self1290     fn from(value: &ESimRemovedEventArgs) -> Self {
1291         value.0.clone()
1292     }
1293 }
1294 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ESimRemovedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1295     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1296         ::windows::runtime::Param::Owned(self.0)
1297     }
1298 }
1299 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ESimRemovedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1300     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1301         ::windows::runtime::Param::Borrowed(&self.0)
1302     }
1303 }
1304 unsafe impl ::std::marker::Send for ESimRemovedEventArgs {}
1305 unsafe impl ::std::marker::Sync for ESimRemovedEventArgs {}
1306 #[repr(transparent)]
1307 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1308 pub struct ESimServiceInfo(::windows::runtime::IInspectable);
1309 impl ESimServiceInfo {
AuthenticationPreference(&self) -> ::windows::runtime::Result<ESimAuthenticationPreference>1310     pub fn AuthenticationPreference(&self) -> ::windows::runtime::Result<ESimAuthenticationPreference> {
1311         let this = self;
1312         unsafe {
1313             let mut result__: ESimAuthenticationPreference = ::std::mem::zeroed();
1314             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ESimAuthenticationPreference>(result__)
1315         }
1316     }
IsESimUiEnabled(&self) -> ::windows::runtime::Result<bool>1317     pub fn IsESimUiEnabled(&self) -> ::windows::runtime::Result<bool> {
1318         let this = self;
1319         unsafe {
1320             let mut result__: bool = ::std::mem::zeroed();
1321             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
1322         }
1323     }
1324 }
1325 unsafe impl ::windows::runtime::RuntimeType for ESimServiceInfo {
1326     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.ESimServiceInfo;{f16aabcf-7f59-4a51-8494-bd89d5ff50ee})");
1327 }
1328 unsafe impl ::windows::runtime::Interface for ESimServiceInfo {
1329     type Vtable = IESimServiceInfo_abi;
1330     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4050299855, 32601, 19025, [132, 148, 189, 137, 213, 255, 80, 238]);
1331 }
1332 impl ::windows::runtime::RuntimeName for ESimServiceInfo {
1333     const NAME: &'static str = "Windows.Networking.NetworkOperators.ESimServiceInfo";
1334 }
1335 impl ::std::convert::From<ESimServiceInfo> for ::windows::runtime::IUnknown {
from(value: ESimServiceInfo) -> Self1336     fn from(value: ESimServiceInfo) -> Self {
1337         unsafe { ::std::mem::transmute(value) }
1338     }
1339 }
1340 impl ::std::convert::From<&ESimServiceInfo> for ::windows::runtime::IUnknown {
from(value: &ESimServiceInfo) -> Self1341     fn from(value: &ESimServiceInfo) -> Self {
1342         ::std::convert::From::from(::std::clone::Clone::clone(value))
1343     }
1344 }
1345 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ESimServiceInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1346     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1347         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1348     }
1349 }
1350 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ESimServiceInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1351     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1352         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1353     }
1354 }
1355 impl ::std::convert::From<ESimServiceInfo> for ::windows::runtime::IInspectable {
from(value: ESimServiceInfo) -> Self1356     fn from(value: ESimServiceInfo) -> Self {
1357         value.0
1358     }
1359 }
1360 impl ::std::convert::From<&ESimServiceInfo> for ::windows::runtime::IInspectable {
from(value: &ESimServiceInfo) -> Self1361     fn from(value: &ESimServiceInfo) -> Self {
1362         value.0.clone()
1363     }
1364 }
1365 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ESimServiceInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1366     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1367         ::windows::runtime::Param::Owned(self.0)
1368     }
1369 }
1370 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ESimServiceInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1371     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1372         ::windows::runtime::Param::Borrowed(&self.0)
1373     }
1374 }
1375 unsafe impl ::std::marker::Send for ESimServiceInfo {}
1376 unsafe impl ::std::marker::Sync for ESimServiceInfo {}
1377 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1378 #[repr(transparent)]
1379 pub struct ESimState(pub i32);
1380 impl ESimState {
1381     pub const Unknown: ESimState = ESimState(0i32);
1382     pub const Idle: ESimState = ESimState(1i32);
1383     pub const Removed: ESimState = ESimState(2i32);
1384     pub const Busy: ESimState = ESimState(3i32);
1385 }
1386 impl ::std::convert::From<i32> for ESimState {
from(value: i32) -> Self1387     fn from(value: i32) -> Self {
1388         Self(value)
1389     }
1390 }
1391 unsafe impl ::windows::runtime::Abi for ESimState {
1392     type Abi = Self;
1393     type DefaultType = Self;
1394 }
1395 unsafe impl ::windows::runtime::RuntimeType for ESimState {
1396     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Networking.NetworkOperators.ESimState;i4)");
1397 }
1398 #[repr(transparent)]
1399 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1400 pub struct ESimUpdatedEventArgs(::windows::runtime::IInspectable);
1401 impl ESimUpdatedEventArgs {
ESim(&self) -> ::windows::runtime::Result<ESim>1402     pub fn ESim(&self) -> ::windows::runtime::Result<ESim> {
1403         let this = self;
1404         unsafe {
1405             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1406             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ESim>(result__)
1407         }
1408     }
1409 }
1410 unsafe impl ::windows::runtime::RuntimeType for ESimUpdatedEventArgs {
1411     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.ESimUpdatedEventArgs;{4c125cec-508d-4b88-83cb-68bef8168d12})");
1412 }
1413 unsafe impl ::windows::runtime::Interface for ESimUpdatedEventArgs {
1414     type Vtable = IESimUpdatedEventArgs_abi;
1415     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1276271852, 20621, 19336, [131, 203, 104, 190, 248, 22, 141, 18]);
1416 }
1417 impl ::windows::runtime::RuntimeName for ESimUpdatedEventArgs {
1418     const NAME: &'static str = "Windows.Networking.NetworkOperators.ESimUpdatedEventArgs";
1419 }
1420 impl ::std::convert::From<ESimUpdatedEventArgs> for ::windows::runtime::IUnknown {
from(value: ESimUpdatedEventArgs) -> Self1421     fn from(value: ESimUpdatedEventArgs) -> Self {
1422         unsafe { ::std::mem::transmute(value) }
1423     }
1424 }
1425 impl ::std::convert::From<&ESimUpdatedEventArgs> for ::windows::runtime::IUnknown {
from(value: &ESimUpdatedEventArgs) -> Self1426     fn from(value: &ESimUpdatedEventArgs) -> Self {
1427         ::std::convert::From::from(::std::clone::Clone::clone(value))
1428     }
1429 }
1430 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ESimUpdatedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1431     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1432         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1433     }
1434 }
1435 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ESimUpdatedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1436     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1437         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1438     }
1439 }
1440 impl ::std::convert::From<ESimUpdatedEventArgs> for ::windows::runtime::IInspectable {
from(value: ESimUpdatedEventArgs) -> Self1441     fn from(value: ESimUpdatedEventArgs) -> Self {
1442         value.0
1443     }
1444 }
1445 impl ::std::convert::From<&ESimUpdatedEventArgs> for ::windows::runtime::IInspectable {
from(value: &ESimUpdatedEventArgs) -> Self1446     fn from(value: &ESimUpdatedEventArgs) -> Self {
1447         value.0.clone()
1448     }
1449 }
1450 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ESimUpdatedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1451     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1452         ::windows::runtime::Param::Owned(self.0)
1453     }
1454 }
1455 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ESimUpdatedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1456     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1457         ::windows::runtime::Param::Borrowed(&self.0)
1458     }
1459 }
1460 unsafe impl ::std::marker::Send for ESimUpdatedEventArgs {}
1461 unsafe impl ::std::marker::Sync for ESimUpdatedEventArgs {}
1462 #[repr(transparent)]
1463 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1464 pub struct ESimWatcher(::windows::runtime::IInspectable);
1465 impl ESimWatcher {
Status(&self) -> ::windows::runtime::Result<ESimWatcherStatus>1466     pub fn Status(&self) -> ::windows::runtime::Result<ESimWatcherStatus> {
1467         let this = self;
1468         unsafe {
1469             let mut result__: ESimWatcherStatus = ::std::mem::zeroed();
1470             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ESimWatcherStatus>(result__)
1471         }
1472     }
Start(&self) -> ::windows::runtime::Result<()>1473     pub fn Start(&self) -> ::windows::runtime::Result<()> {
1474         let this = self;
1475         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this)).ok() }
1476     }
Stop(&self) -> ::windows::runtime::Result<()>1477     pub fn Stop(&self) -> ::windows::runtime::Result<()> {
1478         let this = self;
1479         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this)).ok() }
1480     }
1481     #[cfg(feature = "Foundation")]
Added<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<ESimWatcher, ESimAddedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>1482     pub fn Added<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<ESimWatcher, ESimAddedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
1483         let this = self;
1484         unsafe {
1485             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1486             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
1487         }
1488     }
1489     #[cfg(feature = "Foundation")]
RemoveAdded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>1490     pub fn RemoveAdded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
1491         let this = self;
1492         unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
1493     }
1494     #[cfg(feature = "Foundation")]
EnumerationCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<ESimWatcher, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>1495     pub fn EnumerationCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<ESimWatcher, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
1496         let this = self;
1497         unsafe {
1498             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1499             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
1500         }
1501     }
1502     #[cfg(feature = "Foundation")]
RemoveEnumerationCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>1503     pub fn RemoveEnumerationCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
1504         let this = self;
1505         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
1506     }
1507     #[cfg(feature = "Foundation")]
Removed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<ESimWatcher, ESimRemovedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>1508     pub fn Removed<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<ESimWatcher, ESimRemovedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
1509         let this = self;
1510         unsafe {
1511             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1512             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
1513         }
1514     }
1515     #[cfg(feature = "Foundation")]
RemoveRemoved<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>1516     pub fn RemoveRemoved<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
1517         let this = self;
1518         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
1519     }
1520     #[cfg(feature = "Foundation")]
Stopped<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<ESimWatcher, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>1521     pub fn Stopped<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<ESimWatcher, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
1522         let this = self;
1523         unsafe {
1524             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1525             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
1526         }
1527     }
1528     #[cfg(feature = "Foundation")]
RemoveStopped<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>1529     pub fn RemoveStopped<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
1530         let this = self;
1531         unsafe { (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
1532     }
1533     #[cfg(feature = "Foundation")]
Updated<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<ESimWatcher, ESimUpdatedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>1534     pub fn Updated<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<ESimWatcher, ESimUpdatedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
1535         let this = self;
1536         unsafe {
1537             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1538             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
1539         }
1540     }
1541     #[cfg(feature = "Foundation")]
RemoveUpdated<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>1542     pub fn RemoveUpdated<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
1543         let this = self;
1544         unsafe { (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
1545     }
1546 }
1547 unsafe impl ::windows::runtime::RuntimeType for ESimWatcher {
1548     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.ESimWatcher;{c1f84ceb-a28d-4fbf-9771-6e31b81ccf22})");
1549 }
1550 unsafe impl ::windows::runtime::Interface for ESimWatcher {
1551     type Vtable = IESimWatcher_abi;
1552     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3254275307, 41613, 20415, [151, 113, 110, 49, 184, 28, 207, 34]);
1553 }
1554 impl ::windows::runtime::RuntimeName for ESimWatcher {
1555     const NAME: &'static str = "Windows.Networking.NetworkOperators.ESimWatcher";
1556 }
1557 impl ::std::convert::From<ESimWatcher> for ::windows::runtime::IUnknown {
from(value: ESimWatcher) -> Self1558     fn from(value: ESimWatcher) -> Self {
1559         unsafe { ::std::mem::transmute(value) }
1560     }
1561 }
1562 impl ::std::convert::From<&ESimWatcher> for ::windows::runtime::IUnknown {
from(value: &ESimWatcher) -> Self1563     fn from(value: &ESimWatcher) -> Self {
1564         ::std::convert::From::from(::std::clone::Clone::clone(value))
1565     }
1566 }
1567 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ESimWatcher {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1568     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1569         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1570     }
1571 }
1572 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ESimWatcher {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1573     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1574         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1575     }
1576 }
1577 impl ::std::convert::From<ESimWatcher> for ::windows::runtime::IInspectable {
from(value: ESimWatcher) -> Self1578     fn from(value: ESimWatcher) -> Self {
1579         value.0
1580     }
1581 }
1582 impl ::std::convert::From<&ESimWatcher> for ::windows::runtime::IInspectable {
from(value: &ESimWatcher) -> Self1583     fn from(value: &ESimWatcher) -> Self {
1584         value.0.clone()
1585     }
1586 }
1587 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ESimWatcher {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1588     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1589         ::windows::runtime::Param::Owned(self.0)
1590     }
1591 }
1592 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ESimWatcher {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1593     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1594         ::windows::runtime::Param::Borrowed(&self.0)
1595     }
1596 }
1597 unsafe impl ::std::marker::Send for ESimWatcher {}
1598 unsafe impl ::std::marker::Sync for ESimWatcher {}
1599 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1600 #[repr(transparent)]
1601 pub struct ESimWatcherStatus(pub i32);
1602 impl ESimWatcherStatus {
1603     pub const Created: ESimWatcherStatus = ESimWatcherStatus(0i32);
1604     pub const Started: ESimWatcherStatus = ESimWatcherStatus(1i32);
1605     pub const EnumerationCompleted: ESimWatcherStatus = ESimWatcherStatus(2i32);
1606     pub const Stopping: ESimWatcherStatus = ESimWatcherStatus(3i32);
1607     pub const Stopped: ESimWatcherStatus = ESimWatcherStatus(4i32);
1608 }
1609 impl ::std::convert::From<i32> for ESimWatcherStatus {
from(value: i32) -> Self1610     fn from(value: i32) -> Self {
1611         Self(value)
1612     }
1613 }
1614 unsafe impl ::windows::runtime::Abi for ESimWatcherStatus {
1615     type Abi = Self;
1616     type DefaultType = Self;
1617 }
1618 unsafe impl ::windows::runtime::RuntimeType for ESimWatcherStatus {
1619     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Networking.NetworkOperators.ESimWatcherStatus;i4)");
1620 }
1621 pub struct FdnAccessManager {}
1622 impl FdnAccessManager {
1623     #[cfg(feature = "Foundation")]
RequestUnlockAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(contactlistid: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<bool>>1624     pub fn RequestUnlockAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(contactlistid: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<bool>> {
1625         Self::IFdnAccessManagerStatics(|this| unsafe {
1626             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1627             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), contactlistid.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<bool>>(result__)
1628         })
1629     }
IFdnAccessManagerStatics<R, F: FnOnce(&IFdnAccessManagerStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1630     pub fn IFdnAccessManagerStatics<R, F: FnOnce(&IFdnAccessManagerStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1631         static mut SHARED: ::windows::runtime::FactoryCache<FdnAccessManager, IFdnAccessManagerStatics> = ::windows::runtime::FactoryCache::new();
1632         unsafe { SHARED.call(callback) }
1633     }
1634 }
1635 impl ::windows::runtime::RuntimeName for FdnAccessManager {
1636     const NAME: &'static str = "Windows.Networking.NetworkOperators.FdnAccessManager";
1637 }
1638 #[repr(transparent)]
1639 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1640 pub struct HotspotAuthenticationContext(::windows::runtime::IInspectable);
1641 impl HotspotAuthenticationContext {
WirelessNetworkId(&self) -> ::windows::runtime::Result<::windows::runtime::Array<u8>>1642     pub fn WirelessNetworkId(&self) -> ::windows::runtime::Result<::windows::runtime::Array<u8>> {
1643         let this = self;
1644         unsafe {
1645             let mut result__: ::windows::runtime::Array<u8> = ::std::mem::zeroed();
1646             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), ::windows::runtime::Array::<u8>::set_abi_len(&mut result__), &mut result__ as *mut _ as _).and_then(|| result__)
1647         }
1648     }
1649     #[cfg(feature = "Networking_Connectivity")]
NetworkAdapter(&self) -> ::windows::runtime::Result<super::Connectivity::NetworkAdapter>1650     pub fn NetworkAdapter(&self) -> ::windows::runtime::Result<super::Connectivity::NetworkAdapter> {
1651         let this = self;
1652         unsafe {
1653             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1654             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Connectivity::NetworkAdapter>(result__)
1655         }
1656     }
1657     #[cfg(feature = "Foundation")]
RedirectMessageUrl(&self) -> ::windows::runtime::Result<super::super::Foundation::Uri>1658     pub fn RedirectMessageUrl(&self) -> ::windows::runtime::Result<super::super::Foundation::Uri> {
1659         let this = self;
1660         unsafe {
1661             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1662             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Uri>(result__)
1663         }
1664     }
1665     #[cfg(feature = "Data_Xml_Dom")]
RedirectMessageXml(&self) -> ::windows::runtime::Result<super::super::Data::Xml::Dom::XmlDocument>1666     pub fn RedirectMessageXml(&self) -> ::windows::runtime::Result<super::super::Data::Xml::Dom::XmlDocument> {
1667         let this = self;
1668         unsafe {
1669             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1670             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Data::Xml::Dom::XmlDocument>(result__)
1671         }
1672     }
1673     #[cfg(feature = "Foundation")]
AuthenticationUrl(&self) -> ::windows::runtime::Result<super::super::Foundation::Uri>1674     pub fn AuthenticationUrl(&self) -> ::windows::runtime::Result<super::super::Foundation::Uri> {
1675         let this = self;
1676         unsafe {
1677             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1678             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Uri>(result__)
1679         }
1680     }
IssueCredentials<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, username: Param0, password: Param1, extraparameters: Param2, markasmanualconnectonfailure: bool) -> ::windows::runtime::Result<()>1681     pub fn IssueCredentials<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, username: Param0, password: Param1, extraparameters: Param2, markasmanualconnectonfailure: bool) -> ::windows::runtime::Result<()> {
1682         let this = self;
1683         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), username.into_param().abi(), password.into_param().abi(), extraparameters.into_param().abi(), markasmanualconnectonfailure).ok() }
1684     }
AbortAuthentication(&self, markasmanual: bool) -> ::windows::runtime::Result<()>1685     pub fn AbortAuthentication(&self, markasmanual: bool) -> ::windows::runtime::Result<()> {
1686         let this = self;
1687         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), markasmanual).ok() }
1688     }
SkipAuthentication(&self) -> ::windows::runtime::Result<()>1689     pub fn SkipAuthentication(&self) -> ::windows::runtime::Result<()> {
1690         let this = self;
1691         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this)).ok() }
1692     }
TriggerAttentionRequired<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, packagerelativeapplicationid: Param0, applicationparameters: Param1) -> ::windows::runtime::Result<()>1693     pub fn TriggerAttentionRequired<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, packagerelativeapplicationid: Param0, applicationparameters: Param1) -> ::windows::runtime::Result<()> {
1694         let this = self;
1695         unsafe { (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), packagerelativeapplicationid.into_param().abi(), applicationparameters.into_param().abi()).ok() }
1696     }
1697     #[cfg(feature = "Foundation")]
IssueCredentialsAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, username: Param0, password: Param1, extraparameters: Param2, markasmanualconnectonfailure: bool) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<HotspotCredentialsAuthenticationResult>>1698     pub fn IssueCredentialsAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, username: Param0, password: Param1, extraparameters: Param2, markasmanualconnectonfailure: bool) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<HotspotCredentialsAuthenticationResult>> {
1699         let this = &::windows::runtime::Interface::cast::<IHotspotAuthenticationContext2>(self)?;
1700         unsafe {
1701             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1702             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), username.into_param().abi(), password.into_param().abi(), extraparameters.into_param().abi(), markasmanualconnectonfailure, &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<HotspotCredentialsAuthenticationResult>>(result__)
1703         }
1704     }
TryGetAuthenticationContext<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(eventoken: Param0, context: &mut ::std::option::Option<HotspotAuthenticationContext>) -> ::windows::runtime::Result<bool>1705     pub fn TryGetAuthenticationContext<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(eventoken: Param0, context: &mut ::std::option::Option<HotspotAuthenticationContext>) -> ::windows::runtime::Result<bool> {
1706         Self::IHotspotAuthenticationContextStatics(|this| unsafe {
1707             let mut result__: bool = ::std::mem::zeroed();
1708             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), eventoken.into_param().abi(), context as *mut _ as _, &mut result__).from_abi::<bool>(result__)
1709         })
1710     }
IHotspotAuthenticationContextStatics<R, F: FnOnce(&IHotspotAuthenticationContextStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1711     pub fn IHotspotAuthenticationContextStatics<R, F: FnOnce(&IHotspotAuthenticationContextStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1712         static mut SHARED: ::windows::runtime::FactoryCache<HotspotAuthenticationContext, IHotspotAuthenticationContextStatics> = ::windows::runtime::FactoryCache::new();
1713         unsafe { SHARED.call(callback) }
1714     }
1715 }
1716 unsafe impl ::windows::runtime::RuntimeType for HotspotAuthenticationContext {
1717     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.HotspotAuthenticationContext;{e756c791-1003-4de5-83c7-de61d88831d0})");
1718 }
1719 unsafe impl ::windows::runtime::Interface for HotspotAuthenticationContext {
1720     type Vtable = IHotspotAuthenticationContext_abi;
1721     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3881224081, 4099, 19941, [131, 199, 222, 97, 216, 136, 49, 208]);
1722 }
1723 impl ::windows::runtime::RuntimeName for HotspotAuthenticationContext {
1724     const NAME: &'static str = "Windows.Networking.NetworkOperators.HotspotAuthenticationContext";
1725 }
1726 impl ::std::convert::From<HotspotAuthenticationContext> for ::windows::runtime::IUnknown {
from(value: HotspotAuthenticationContext) -> Self1727     fn from(value: HotspotAuthenticationContext) -> Self {
1728         unsafe { ::std::mem::transmute(value) }
1729     }
1730 }
1731 impl ::std::convert::From<&HotspotAuthenticationContext> for ::windows::runtime::IUnknown {
from(value: &HotspotAuthenticationContext) -> Self1732     fn from(value: &HotspotAuthenticationContext) -> Self {
1733         ::std::convert::From::from(::std::clone::Clone::clone(value))
1734     }
1735 }
1736 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for HotspotAuthenticationContext {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1737     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1738         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1739     }
1740 }
1741 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &HotspotAuthenticationContext {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1742     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1743         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1744     }
1745 }
1746 impl ::std::convert::From<HotspotAuthenticationContext> for ::windows::runtime::IInspectable {
from(value: HotspotAuthenticationContext) -> Self1747     fn from(value: HotspotAuthenticationContext) -> Self {
1748         value.0
1749     }
1750 }
1751 impl ::std::convert::From<&HotspotAuthenticationContext> for ::windows::runtime::IInspectable {
from(value: &HotspotAuthenticationContext) -> Self1752     fn from(value: &HotspotAuthenticationContext) -> Self {
1753         value.0.clone()
1754     }
1755 }
1756 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for HotspotAuthenticationContext {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1757     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1758         ::windows::runtime::Param::Owned(self.0)
1759     }
1760 }
1761 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a HotspotAuthenticationContext {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1762     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1763         ::windows::runtime::Param::Borrowed(&self.0)
1764     }
1765 }
1766 #[repr(transparent)]
1767 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1768 pub struct HotspotAuthenticationEventDetails(::windows::runtime::IInspectable);
1769 impl HotspotAuthenticationEventDetails {
EventToken(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1770     pub fn EventToken(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1771         let this = self;
1772         unsafe {
1773             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1774             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1775         }
1776     }
1777 }
1778 unsafe impl ::windows::runtime::RuntimeType for HotspotAuthenticationEventDetails {
1779     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.HotspotAuthenticationEventDetails;{e756c791-1001-4de5-83c7-de61d88831d0})");
1780 }
1781 unsafe impl ::windows::runtime::Interface for HotspotAuthenticationEventDetails {
1782     type Vtable = IHotspotAuthenticationEventDetails_abi;
1783     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3881224081, 4097, 19941, [131, 199, 222, 97, 216, 136, 49, 208]);
1784 }
1785 impl ::windows::runtime::RuntimeName for HotspotAuthenticationEventDetails {
1786     const NAME: &'static str = "Windows.Networking.NetworkOperators.HotspotAuthenticationEventDetails";
1787 }
1788 impl ::std::convert::From<HotspotAuthenticationEventDetails> for ::windows::runtime::IUnknown {
from(value: HotspotAuthenticationEventDetails) -> Self1789     fn from(value: HotspotAuthenticationEventDetails) -> Self {
1790         unsafe { ::std::mem::transmute(value) }
1791     }
1792 }
1793 impl ::std::convert::From<&HotspotAuthenticationEventDetails> for ::windows::runtime::IUnknown {
from(value: &HotspotAuthenticationEventDetails) -> Self1794     fn from(value: &HotspotAuthenticationEventDetails) -> Self {
1795         ::std::convert::From::from(::std::clone::Clone::clone(value))
1796     }
1797 }
1798 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for HotspotAuthenticationEventDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1799     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1800         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1801     }
1802 }
1803 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &HotspotAuthenticationEventDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1804     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1805         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1806     }
1807 }
1808 impl ::std::convert::From<HotspotAuthenticationEventDetails> for ::windows::runtime::IInspectable {
from(value: HotspotAuthenticationEventDetails) -> Self1809     fn from(value: HotspotAuthenticationEventDetails) -> Self {
1810         value.0
1811     }
1812 }
1813 impl ::std::convert::From<&HotspotAuthenticationEventDetails> for ::windows::runtime::IInspectable {
from(value: &HotspotAuthenticationEventDetails) -> Self1814     fn from(value: &HotspotAuthenticationEventDetails) -> Self {
1815         value.0.clone()
1816     }
1817 }
1818 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for HotspotAuthenticationEventDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1819     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1820         ::windows::runtime::Param::Owned(self.0)
1821     }
1822 }
1823 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a HotspotAuthenticationEventDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1824     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1825         ::windows::runtime::Param::Borrowed(&self.0)
1826     }
1827 }
1828 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1829 #[repr(transparent)]
1830 pub struct HotspotAuthenticationResponseCode(pub i32);
1831 impl HotspotAuthenticationResponseCode {
1832     pub const NoError: HotspotAuthenticationResponseCode = HotspotAuthenticationResponseCode(0i32);
1833     pub const LoginSucceeded: HotspotAuthenticationResponseCode = HotspotAuthenticationResponseCode(50i32);
1834     pub const LoginFailed: HotspotAuthenticationResponseCode = HotspotAuthenticationResponseCode(100i32);
1835     pub const RadiusServerError: HotspotAuthenticationResponseCode = HotspotAuthenticationResponseCode(102i32);
1836     pub const NetworkAdministratorError: HotspotAuthenticationResponseCode = HotspotAuthenticationResponseCode(105i32);
1837     pub const LoginAborted: HotspotAuthenticationResponseCode = HotspotAuthenticationResponseCode(151i32);
1838     pub const AccessGatewayInternalError: HotspotAuthenticationResponseCode = HotspotAuthenticationResponseCode(255i32);
1839 }
1840 impl ::std::convert::From<i32> for HotspotAuthenticationResponseCode {
from(value: i32) -> Self1841     fn from(value: i32) -> Self {
1842         Self(value)
1843     }
1844 }
1845 unsafe impl ::windows::runtime::Abi for HotspotAuthenticationResponseCode {
1846     type Abi = Self;
1847     type DefaultType = Self;
1848 }
1849 unsafe impl ::windows::runtime::RuntimeType for HotspotAuthenticationResponseCode {
1850     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Networking.NetworkOperators.HotspotAuthenticationResponseCode;i4)");
1851 }
1852 #[repr(transparent)]
1853 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1854 pub struct HotspotCredentialsAuthenticationResult(::windows::runtime::IInspectable);
1855 impl HotspotCredentialsAuthenticationResult {
HasNetworkErrorOccurred(&self) -> ::windows::runtime::Result<bool>1856     pub fn HasNetworkErrorOccurred(&self) -> ::windows::runtime::Result<bool> {
1857         let this = self;
1858         unsafe {
1859             let mut result__: bool = ::std::mem::zeroed();
1860             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
1861         }
1862     }
ResponseCode(&self) -> ::windows::runtime::Result<HotspotAuthenticationResponseCode>1863     pub fn ResponseCode(&self) -> ::windows::runtime::Result<HotspotAuthenticationResponseCode> {
1864         let this = self;
1865         unsafe {
1866             let mut result__: HotspotAuthenticationResponseCode = ::std::mem::zeroed();
1867             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<HotspotAuthenticationResponseCode>(result__)
1868         }
1869     }
1870     #[cfg(feature = "Foundation")]
LogoffUrl(&self) -> ::windows::runtime::Result<super::super::Foundation::Uri>1871     pub fn LogoffUrl(&self) -> ::windows::runtime::Result<super::super::Foundation::Uri> {
1872         let this = self;
1873         unsafe {
1874             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1875             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Uri>(result__)
1876         }
1877     }
1878     #[cfg(feature = "Data_Xml_Dom")]
AuthenticationReplyXml(&self) -> ::windows::runtime::Result<super::super::Data::Xml::Dom::XmlDocument>1879     pub fn AuthenticationReplyXml(&self) -> ::windows::runtime::Result<super::super::Data::Xml::Dom::XmlDocument> {
1880         let this = self;
1881         unsafe {
1882             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1883             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Data::Xml::Dom::XmlDocument>(result__)
1884         }
1885     }
1886 }
1887 unsafe impl ::windows::runtime::RuntimeType for HotspotCredentialsAuthenticationResult {
1888     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.HotspotCredentialsAuthenticationResult;{e756c791-1005-4de5-83c7-de61d88831d0})");
1889 }
1890 unsafe impl ::windows::runtime::Interface for HotspotCredentialsAuthenticationResult {
1891     type Vtable = IHotspotCredentialsAuthenticationResult_abi;
1892     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3881224081, 4101, 19941, [131, 199, 222, 97, 216, 136, 49, 208]);
1893 }
1894 impl ::windows::runtime::RuntimeName for HotspotCredentialsAuthenticationResult {
1895     const NAME: &'static str = "Windows.Networking.NetworkOperators.HotspotCredentialsAuthenticationResult";
1896 }
1897 impl ::std::convert::From<HotspotCredentialsAuthenticationResult> for ::windows::runtime::IUnknown {
from(value: HotspotCredentialsAuthenticationResult) -> Self1898     fn from(value: HotspotCredentialsAuthenticationResult) -> Self {
1899         unsafe { ::std::mem::transmute(value) }
1900     }
1901 }
1902 impl ::std::convert::From<&HotspotCredentialsAuthenticationResult> for ::windows::runtime::IUnknown {
from(value: &HotspotCredentialsAuthenticationResult) -> Self1903     fn from(value: &HotspotCredentialsAuthenticationResult) -> Self {
1904         ::std::convert::From::from(::std::clone::Clone::clone(value))
1905     }
1906 }
1907 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for HotspotCredentialsAuthenticationResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1908     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1909         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1910     }
1911 }
1912 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &HotspotCredentialsAuthenticationResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1913     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1914         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1915     }
1916 }
1917 impl ::std::convert::From<HotspotCredentialsAuthenticationResult> for ::windows::runtime::IInspectable {
from(value: HotspotCredentialsAuthenticationResult) -> Self1918     fn from(value: HotspotCredentialsAuthenticationResult) -> Self {
1919         value.0
1920     }
1921 }
1922 impl ::std::convert::From<&HotspotCredentialsAuthenticationResult> for ::windows::runtime::IInspectable {
from(value: &HotspotCredentialsAuthenticationResult) -> Self1923     fn from(value: &HotspotCredentialsAuthenticationResult) -> Self {
1924         value.0.clone()
1925     }
1926 }
1927 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for HotspotCredentialsAuthenticationResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1928     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1929         ::windows::runtime::Param::Owned(self.0)
1930     }
1931 }
1932 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a HotspotCredentialsAuthenticationResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1933     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1934         ::windows::runtime::Param::Borrowed(&self.0)
1935     }
1936 }
1937 #[repr(transparent)]
1938 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1939 #[doc(hidden)]
1940 pub struct IESim(::windows::runtime::IInspectable);
1941 unsafe impl ::windows::runtime::Interface for IESim {
1942     type Vtable = IESim_abi;
1943     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1869508134, 61731, 17277, [140, 237, 220, 29, 43, 192, 195, 169]);
1944 }
1945 #[repr(C)]
1946 #[doc(hidden)]
1947 pub struct IESim_abi(
1948     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1949     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1950     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1951     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1952     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1953     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1954     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1955     #[cfg(not(feature = "Foundation"))] usize,
1956     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1957     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1958     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
1959     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1960     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ESimState) -> ::windows::runtime::HRESULT,
1961     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1962     #[cfg(not(feature = "Foundation_Collections"))] usize,
1963     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, profileid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1964     #[cfg(not(feature = "Foundation"))] usize,
1965     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, activationcode: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1966     #[cfg(not(feature = "Foundation"))] usize,
1967     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1968     #[cfg(not(feature = "Foundation"))] usize,
1969     #[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,
1970     #[cfg(not(feature = "Foundation"))] usize,
1971     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
1972     #[cfg(not(feature = "Foundation"))] usize,
1973 );
1974 #[repr(transparent)]
1975 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1976 #[doc(hidden)]
1977 pub struct IESim2(::windows::runtime::IInspectable);
1978 unsafe impl ::windows::runtime::Interface for IESim2 {
1979     type Vtable = IESim2_abi;
1980     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3176124576, 50831, 22251, [185, 155, 143, 52, 184, 16, 2, 153]);
1981 }
1982 #[repr(C)]
1983 #[doc(hidden)]
1984 pub struct IESim2_abi(
1985     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1986     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1987     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
1988     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
1989     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1990     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
1991     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1992     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, serveraddress: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, matchingid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1993     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1994     #[cfg(not(feature = "Foundation"))] usize,
1995     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, serveraddress: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, matchingid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
1996     #[cfg(not(feature = "Foundation"))] usize,
1997 );
1998 #[repr(transparent)]
1999 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2000 #[doc(hidden)]
2001 pub struct IESimAddedEventArgs(::windows::runtime::IInspectable);
2002 unsafe impl ::windows::runtime::Interface for IESimAddedEventArgs {
2003     type Vtable = IESimAddedEventArgs_abi;
2004     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(951913048, 19802, 19720, [141, 167, 231, 62, 255, 54, 157, 221]);
2005 }
2006 #[repr(C)]
2007 #[doc(hidden)]
2008 pub struct IESimAddedEventArgs_abi(
2009     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2010     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2011     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2012     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2013     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2014     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2015     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2016 );
2017 #[repr(transparent)]
2018 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2019 #[doc(hidden)]
2020 pub struct IESimDiscoverEvent(::windows::runtime::IInspectable);
2021 unsafe impl ::windows::runtime::Interface for IESimDiscoverEvent {
2022     type Vtable = IESimDiscoverEvent_abi;
2023     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3852125155, 14780, 24431, [147, 33, 13, 74, 24, 45, 38, 27]);
2024 }
2025 #[repr(C)]
2026 #[doc(hidden)]
2027 pub struct IESimDiscoverEvent_abi(
2028     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2029     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2030     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2031     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2032     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2033     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2034     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2035     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2036 );
2037 #[repr(transparent)]
2038 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2039 #[doc(hidden)]
2040 pub struct IESimDiscoverResult(::windows::runtime::IInspectable);
2041 unsafe impl ::windows::runtime::Interface for IESimDiscoverResult {
2042     type Vtable = IESimDiscoverResult_abi;
2043     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1454685022, 43823, 23238, [179, 89, 221, 90, 142, 35, 121, 38]);
2044 }
2045 #[repr(C)]
2046 #[doc(hidden)]
2047 pub struct IESimDiscoverResult_abi(
2048     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2049     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2050     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2051     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2052     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2053     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2054     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2055     #[cfg(not(feature = "Foundation_Collections"))] usize,
2056     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ESimDiscoverResultKind) -> ::windows::runtime::HRESULT,
2057     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2058     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2059 );
2060 #[repr(transparent)]
2061 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2062 #[doc(hidden)]
2063 pub struct IESimDownloadProfileMetadataResult(::windows::runtime::IInspectable);
2064 unsafe impl ::windows::runtime::Interface for IESimDownloadProfileMetadataResult {
2065     type Vtable = IESimDownloadProfileMetadataResult_abi;
2066     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3290647966, 23254, 17005, [141, 0, 68, 52, 244, 73, 175, 236]);
2067 }
2068 #[repr(C)]
2069 #[doc(hidden)]
2070 pub struct IESimDownloadProfileMetadataResult_abi(
2071     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2072     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2073     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2074     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2075     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2076     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2077     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2078     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2079 );
2080 #[repr(transparent)]
2081 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2082 #[doc(hidden)]
2083 pub struct IESimManagerStatics(::windows::runtime::IInspectable);
2084 unsafe impl ::windows::runtime::Interface for IESimManagerStatics {
2085     type Vtable = IESimManagerStatics_abi;
2086     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(200944652, 57224, 17969, [191, 4, 193, 46, 40, 27, 57, 98]);
2087 }
2088 #[repr(C)]
2089 #[doc(hidden)]
2090 pub struct IESimManagerStatics_abi(
2091     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2092     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2093     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2094     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2095     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2096     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2097     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2098     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2099     #[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,
2100     #[cfg(not(feature = "Foundation"))] usize,
2101     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2102     #[cfg(not(feature = "Foundation"))] usize,
2103 );
2104 #[repr(transparent)]
2105 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2106 #[doc(hidden)]
2107 pub struct IESimOperationResult(::windows::runtime::IInspectable);
2108 unsafe impl ::windows::runtime::Interface for IESimOperationResult {
2109     type Vtable = IESimOperationResult_abi;
2110     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2793104305, 12443, 20087, [158, 126, 205, 147, 241, 221, 199, 185]);
2111 }
2112 #[repr(C)]
2113 #[doc(hidden)]
2114 pub struct IESimOperationResult_abi(
2115     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2116     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2117     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2118     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2119     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2120     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2121     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ESimOperationStatus) -> ::windows::runtime::HRESULT,
2122 );
2123 #[repr(transparent)]
2124 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2125 #[doc(hidden)]
2126 pub struct IESimPolicy(::windows::runtime::IInspectable);
2127 unsafe impl ::windows::runtime::Interface for IESimPolicy {
2128     type Vtable = IESimPolicy_abi;
2129     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1105312157, 53118, 17173, [136, 43, 111, 30, 116, 176, 211, 143]);
2130 }
2131 #[repr(C)]
2132 #[doc(hidden)]
2133 pub struct IESimPolicy_abi(
2134     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2135     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2136     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2137     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2138     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2139     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2140     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2141 );
2142 #[repr(transparent)]
2143 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2144 #[doc(hidden)]
2145 pub struct IESimProfile(::windows::runtime::IInspectable);
2146 unsafe impl ::windows::runtime::Interface for IESimProfile {
2147     type Vtable = IESimProfile_abi;
2148     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3994974336, 1705, 16423, [180, 248, 221, 178, 61, 120, 16, 224]);
2149 }
2150 #[repr(C)]
2151 #[doc(hidden)]
2152 pub struct IESimProfile_abi(
2153     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2154     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2155     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2156     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2157     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2158     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2159     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ESimProfileClass) -> ::windows::runtime::HRESULT,
2160     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2161     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2162     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2163     #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2164     #[cfg(not(feature = "Storage_Streams"))] usize,
2165     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2166     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2167     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ESimProfileState) -> ::windows::runtime::HRESULT,
2168     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2169     #[cfg(not(feature = "Foundation"))] usize,
2170     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2171     #[cfg(not(feature = "Foundation"))] usize,
2172     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, newnickname: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2173     #[cfg(not(feature = "Foundation"))] usize,
2174 );
2175 #[repr(transparent)]
2176 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2177 #[doc(hidden)]
2178 pub struct IESimProfileMetadata(::windows::runtime::IInspectable);
2179 unsafe impl ::windows::runtime::Interface for IESimProfileMetadata {
2180     type Vtable = IESimProfileMetadata_abi;
2181     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3978658591, 37083, 18829, [167, 180, 235, 206, 128, 125, 60, 35]);
2182 }
2183 #[repr(C)]
2184 #[doc(hidden)]
2185 pub struct IESimProfileMetadata_abi(
2186     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2187     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2188     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2189     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2190     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2191     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2192     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2193     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2194     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2195     #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2196     #[cfg(not(feature = "Storage_Streams"))] usize,
2197     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2198     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2199     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ESimProfileMetadataState) -> ::windows::runtime::HRESULT,
2200     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2201     #[cfg(not(feature = "Foundation"))] usize,
2202     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2203     #[cfg(not(feature = "Foundation"))] usize,
2204     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, confirmationcode: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2205     #[cfg(not(feature = "Foundation"))] usize,
2206     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2207     #[cfg(not(feature = "Foundation"))] usize,
2208     #[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,
2209     #[cfg(not(feature = "Foundation"))] usize,
2210     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2211     #[cfg(not(feature = "Foundation"))] usize,
2212 );
2213 #[repr(transparent)]
2214 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2215 #[doc(hidden)]
2216 pub struct IESimProfilePolicy(::windows::runtime::IInspectable);
2217 unsafe impl ::windows::runtime::Interface for IESimProfilePolicy {
2218     type Vtable = IESimProfilePolicy_abi;
2219     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3873247005, 40028, 18117, [162, 137, 169, 72, 153, 155, 240, 98]);
2220 }
2221 #[repr(C)]
2222 #[doc(hidden)]
2223 pub struct IESimProfilePolicy_abi(
2224     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2225     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2226     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2227     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2228     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2229     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2230     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2231     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2232     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2233 );
2234 #[repr(transparent)]
2235 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2236 #[doc(hidden)]
2237 pub struct IESimRemovedEventArgs(::windows::runtime::IInspectable);
2238 unsafe impl ::windows::runtime::Interface for IESimRemovedEventArgs {
2239     type Vtable = IESimRemovedEventArgs_abi;
2240     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3737462651, 12249, 20185, [131, 118, 217, 181, 228, 18, 120, 163]);
2241 }
2242 #[repr(C)]
2243 #[doc(hidden)]
2244 pub struct IESimRemovedEventArgs_abi(
2245     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2246     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2247     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2248     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2249     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2250     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2251     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2252 );
2253 #[repr(transparent)]
2254 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2255 #[doc(hidden)]
2256 pub struct IESimServiceInfo(::windows::runtime::IInspectable);
2257 unsafe impl ::windows::runtime::Interface for IESimServiceInfo {
2258     type Vtable = IESimServiceInfo_abi;
2259     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4050299855, 32601, 19025, [132, 148, 189, 137, 213, 255, 80, 238]);
2260 }
2261 #[repr(C)]
2262 #[doc(hidden)]
2263 pub struct IESimServiceInfo_abi(
2264     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2265     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2266     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2267     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2268     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2269     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2270     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ESimAuthenticationPreference) -> ::windows::runtime::HRESULT,
2271     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2272 );
2273 #[repr(transparent)]
2274 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2275 #[doc(hidden)]
2276 pub struct IESimUpdatedEventArgs(::windows::runtime::IInspectable);
2277 unsafe impl ::windows::runtime::Interface for IESimUpdatedEventArgs {
2278     type Vtable = IESimUpdatedEventArgs_abi;
2279     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1276271852, 20621, 19336, [131, 203, 104, 190, 248, 22, 141, 18]);
2280 }
2281 #[repr(C)]
2282 #[doc(hidden)]
2283 pub struct IESimUpdatedEventArgs_abi(
2284     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2285     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2286     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2287     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2288     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2289     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2290     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2291 );
2292 #[repr(transparent)]
2293 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2294 #[doc(hidden)]
2295 pub struct IESimWatcher(::windows::runtime::IInspectable);
2296 unsafe impl ::windows::runtime::Interface for IESimWatcher {
2297     type Vtable = IESimWatcher_abi;
2298     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3254275307, 41613, 20415, [151, 113, 110, 49, 184, 28, 207, 34]);
2299 }
2300 #[repr(C)]
2301 #[doc(hidden)]
2302 pub struct IESimWatcher_abi(
2303     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2304     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2305     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2306     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2307     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2308     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2309     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ESimWatcherStatus) -> ::windows::runtime::HRESULT,
2310     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2311     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2312     #[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,
2313     #[cfg(not(feature = "Foundation"))] usize,
2314     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2315     #[cfg(not(feature = "Foundation"))] usize,
2316     #[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,
2317     #[cfg(not(feature = "Foundation"))] usize,
2318     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2319     #[cfg(not(feature = "Foundation"))] usize,
2320     #[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,
2321     #[cfg(not(feature = "Foundation"))] usize,
2322     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2323     #[cfg(not(feature = "Foundation"))] usize,
2324     #[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,
2325     #[cfg(not(feature = "Foundation"))] usize,
2326     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2327     #[cfg(not(feature = "Foundation"))] usize,
2328     #[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,
2329     #[cfg(not(feature = "Foundation"))] usize,
2330     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2331     #[cfg(not(feature = "Foundation"))] usize,
2332 );
2333 #[repr(transparent)]
2334 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2335 #[doc(hidden)]
2336 pub struct IFdnAccessManagerStatics(::windows::runtime::IInspectable);
2337 unsafe impl ::windows::runtime::Interface for IFdnAccessManagerStatics {
2338     type Vtable = IFdnAccessManagerStatics_abi;
2339     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4071244693, 61926, 17177, [170, 62, 71, 124, 166, 75, 43, 223]);
2340 }
2341 #[repr(C)]
2342 #[doc(hidden)]
2343 pub struct IFdnAccessManagerStatics_abi(
2344     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2345     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2346     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2347     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2348     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2349     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2350     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, contactlistid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2351     #[cfg(not(feature = "Foundation"))] usize,
2352 );
2353 #[repr(transparent)]
2354 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2355 #[doc(hidden)]
2356 pub struct IHotspotAuthenticationContext(::windows::runtime::IInspectable);
2357 unsafe impl ::windows::runtime::Interface for IHotspotAuthenticationContext {
2358     type Vtable = IHotspotAuthenticationContext_abi;
2359     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3881224081, 4099, 19941, [131, 199, 222, 97, 216, 136, 49, 208]);
2360 }
2361 #[repr(C)]
2362 #[doc(hidden)]
2363 pub struct IHotspotAuthenticationContext_abi(
2364     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2365     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2366     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2367     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2368     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2369     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2370     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result_size__: *mut u32, result__: *mut *mut u8) -> ::windows::runtime::HRESULT,
2371     #[cfg(feature = "Networking_Connectivity")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2372     #[cfg(not(feature = "Networking_Connectivity"))] usize,
2373     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2374     #[cfg(not(feature = "Foundation"))] usize,
2375     #[cfg(feature = "Data_Xml_Dom")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2376     #[cfg(not(feature = "Data_Xml_Dom"))] usize,
2377     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2378     #[cfg(not(feature = "Foundation"))] usize,
2379     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, username: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, password: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, extraparameters: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, markasmanualconnectonfailure: bool) -> ::windows::runtime::HRESULT,
2380     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, markasmanual: bool) -> ::windows::runtime::HRESULT,
2381     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2382     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, packagerelativeapplicationid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, applicationparameters: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2383 );
2384 #[repr(transparent)]
2385 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2386 #[doc(hidden)]
2387 pub struct IHotspotAuthenticationContext2(::windows::runtime::IInspectable);
2388 unsafe impl ::windows::runtime::Interface for IHotspotAuthenticationContext2 {
2389     type Vtable = IHotspotAuthenticationContext2_abi;
2390     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3881224081, 4100, 19941, [131, 199, 222, 97, 216, 136, 49, 208]);
2391 }
2392 #[repr(C)]
2393 #[doc(hidden)]
2394 pub struct IHotspotAuthenticationContext2_abi(
2395     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2396     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2397     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2398     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2399     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2400     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2401     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, username: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, password: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, extraparameters: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, markasmanualconnectonfailure: bool, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2402     #[cfg(not(feature = "Foundation"))] usize,
2403 );
2404 #[repr(transparent)]
2405 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2406 #[doc(hidden)]
2407 pub struct IHotspotAuthenticationContextStatics(::windows::runtime::IInspectable);
2408 unsafe impl ::windows::runtime::Interface for IHotspotAuthenticationContextStatics {
2409     type Vtable = IHotspotAuthenticationContextStatics_abi;
2410     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3881224081, 4098, 19941, [131, 199, 222, 97, 216, 136, 49, 208]);
2411 }
2412 #[repr(C)]
2413 #[doc(hidden)]
2414 pub struct IHotspotAuthenticationContextStatics_abi(
2415     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2416     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2417     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2418     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2419     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2420     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2421     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventoken: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, context: *mut ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2422 );
2423 #[repr(transparent)]
2424 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2425 #[doc(hidden)]
2426 pub struct IHotspotAuthenticationEventDetails(::windows::runtime::IInspectable);
2427 unsafe impl ::windows::runtime::Interface for IHotspotAuthenticationEventDetails {
2428     type Vtable = IHotspotAuthenticationEventDetails_abi;
2429     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3881224081, 4097, 19941, [131, 199, 222, 97, 216, 136, 49, 208]);
2430 }
2431 #[repr(C)]
2432 #[doc(hidden)]
2433 pub struct IHotspotAuthenticationEventDetails_abi(
2434     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2435     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2436     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2437     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2438     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2439     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2440     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2441 );
2442 #[repr(transparent)]
2443 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2444 #[doc(hidden)]
2445 pub struct IHotspotCredentialsAuthenticationResult(::windows::runtime::IInspectable);
2446 unsafe impl ::windows::runtime::Interface for IHotspotCredentialsAuthenticationResult {
2447     type Vtable = IHotspotCredentialsAuthenticationResult_abi;
2448     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3881224081, 4101, 19941, [131, 199, 222, 97, 216, 136, 49, 208]);
2449 }
2450 #[repr(C)]
2451 #[doc(hidden)]
2452 pub struct IHotspotCredentialsAuthenticationResult_abi(
2453     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2454     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2455     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2456     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2457     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2458     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2459     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2460     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut HotspotAuthenticationResponseCode) -> ::windows::runtime::HRESULT,
2461     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2462     #[cfg(not(feature = "Foundation"))] usize,
2463     #[cfg(feature = "Data_Xml_Dom")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2464     #[cfg(not(feature = "Data_Xml_Dom"))] usize,
2465 );
2466 #[repr(transparent)]
2467 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2468 #[doc(hidden)]
2469 pub struct IKnownCSimFilePathsStatics(::windows::runtime::IInspectable);
2470 unsafe impl ::windows::runtime::Interface for IKnownCSimFilePathsStatics {
2471     type Vtable = IKnownCSimFilePathsStatics_abi;
2472     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3025710829, 18929, 19490, [176, 115, 150, 213, 17, 191, 156, 53]);
2473 }
2474 #[repr(C)]
2475 #[doc(hidden)]
2476 pub struct IKnownCSimFilePathsStatics_abi(
2477     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2478     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2479     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2480     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2481     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2482     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2483     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2484     #[cfg(not(feature = "Foundation_Collections"))] usize,
2485     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2486     #[cfg(not(feature = "Foundation_Collections"))] usize,
2487     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2488     #[cfg(not(feature = "Foundation_Collections"))] usize,
2489 );
2490 #[repr(transparent)]
2491 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2492 #[doc(hidden)]
2493 pub struct IKnownRuimFilePathsStatics(::windows::runtime::IInspectable);
2494 unsafe impl ::windows::runtime::Interface for IKnownRuimFilePathsStatics {
2495     type Vtable = IKnownRuimFilePathsStatics_abi;
2496     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(948160697, 65316, 17777, [168, 103, 9, 249, 96, 66, 110, 20]);
2497 }
2498 #[repr(C)]
2499 #[doc(hidden)]
2500 pub struct IKnownRuimFilePathsStatics_abi(
2501     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2502     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2503     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2504     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2505     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2506     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2507     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2508     #[cfg(not(feature = "Foundation_Collections"))] usize,
2509     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2510     #[cfg(not(feature = "Foundation_Collections"))] usize,
2511     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2512     #[cfg(not(feature = "Foundation_Collections"))] usize,
2513 );
2514 #[repr(transparent)]
2515 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2516 #[doc(hidden)]
2517 pub struct IKnownSimFilePathsStatics(::windows::runtime::IInspectable);
2518 unsafe impl ::windows::runtime::Interface for IKnownSimFilePathsStatics {
2519     type Vtable = IKnownSimFilePathsStatics_abi;
2520     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2160925283, 14245, 17363, [128, 163, 204, 210, 62, 143, 236, 238]);
2521 }
2522 #[repr(C)]
2523 #[doc(hidden)]
2524 pub struct IKnownSimFilePathsStatics_abi(
2525     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2526     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2527     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2528     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2529     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2530     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2531     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2532     #[cfg(not(feature = "Foundation_Collections"))] usize,
2533     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2534     #[cfg(not(feature = "Foundation_Collections"))] usize,
2535     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2536     #[cfg(not(feature = "Foundation_Collections"))] usize,
2537     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2538     #[cfg(not(feature = "Foundation_Collections"))] usize,
2539 );
2540 #[repr(transparent)]
2541 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2542 #[doc(hidden)]
2543 pub struct IKnownUSimFilePathsStatics(::windows::runtime::IInspectable);
2544 unsafe impl ::windows::runtime::Interface for IKnownUSimFilePathsStatics {
2545     type Vtable = IKnownUSimFilePathsStatics_abi;
2546     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2083841409, 7963, 17396, [149, 48, 139, 9, 45, 50, 215, 31]);
2547 }
2548 #[repr(C)]
2549 #[doc(hidden)]
2550 pub struct IKnownUSimFilePathsStatics_abi(
2551     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2552     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2553     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2554     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2555     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2556     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2557     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2558     #[cfg(not(feature = "Foundation_Collections"))] usize,
2559     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2560     #[cfg(not(feature = "Foundation_Collections"))] usize,
2561     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2562     #[cfg(not(feature = "Foundation_Collections"))] usize,
2563     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2564     #[cfg(not(feature = "Foundation_Collections"))] usize,
2565     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2566     #[cfg(not(feature = "Foundation_Collections"))] usize,
2567 );
2568 #[repr(transparent)]
2569 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2570 #[doc(hidden)]
2571 pub struct IMobileBroadbandAccount(::windows::runtime::IInspectable);
2572 unsafe impl ::windows::runtime::Interface for IMobileBroadbandAccount {
2573     type Vtable = IMobileBroadbandAccount_abi;
2574     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(918703309, 52962, 17376, [166, 3, 238, 134, 163, 109, 101, 112]);
2575 }
2576 #[repr(C)]
2577 #[doc(hidden)]
2578 pub struct IMobileBroadbandAccount_abi(
2579     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2580     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2581     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2582     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2583     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2584     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2585     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2586     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2587     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2588     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2589     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2590 );
2591 #[repr(transparent)]
2592 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2593 #[doc(hidden)]
2594 pub struct IMobileBroadbandAccount2(::windows::runtime::IInspectable);
2595 unsafe impl ::windows::runtime::Interface for IMobileBroadbandAccount2 {
2596     type Vtable = IMobileBroadbandAccount2_abi;
2597     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(955592476, 4406, 16983, [149, 159, 182, 88, 163, 82, 182, 212]);
2598 }
2599 #[repr(C)]
2600 #[doc(hidden)]
2601 pub struct IMobileBroadbandAccount2_abi(
2602     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2603     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2604     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2605     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2606     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2607     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2608     #[cfg(all(feature = "Foundation_Collections", feature = "Networking_Connectivity"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2609     #[cfg(not(all(feature = "Foundation_Collections", feature = "Networking_Connectivity")))] usize,
2610 );
2611 #[repr(transparent)]
2612 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2613 #[doc(hidden)]
2614 pub struct IMobileBroadbandAccount3(::windows::runtime::IInspectable);
2615 unsafe impl ::windows::runtime::Interface for IMobileBroadbandAccount3 {
2616     type Vtable = IMobileBroadbandAccount3_abi;
2617     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(153755169, 37753, 19355, [173, 49, 213, 254, 226, 247, 72, 198]);
2618 }
2619 #[repr(C)]
2620 #[doc(hidden)]
2621 pub struct IMobileBroadbandAccount3_abi(
2622     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2623     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2624     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2625     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2626     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2627     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2628     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2629     #[cfg(not(feature = "Foundation"))] usize,
2630 );
2631 #[repr(transparent)]
2632 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2633 #[doc(hidden)]
2634 pub struct IMobileBroadbandAccountEventArgs(::windows::runtime::IInspectable);
2635 unsafe impl ::windows::runtime::Interface for IMobileBroadbandAccountEventArgs {
2636     type Vtable = IMobileBroadbandAccountEventArgs_abi;
2637     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(945014912, 30686, 19460, [190, 173, 161, 35, 176, 140, 159, 89]);
2638 }
2639 #[repr(C)]
2640 #[doc(hidden)]
2641 pub struct IMobileBroadbandAccountEventArgs_abi(
2642     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2643     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2644     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2645     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2646     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2647     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2648     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2649 );
2650 #[repr(transparent)]
2651 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2652 #[doc(hidden)]
2653 pub struct IMobileBroadbandAccountStatics(::windows::runtime::IInspectable);
2654 unsafe impl ::windows::runtime::Interface for IMobileBroadbandAccountStatics {
2655     type Vtable = IMobileBroadbandAccountStatics_abi;
2656     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2860469540, 44993, 20424, [174, 154, 169, 23, 83, 16, 250, 173]);
2657 }
2658 #[repr(C)]
2659 #[doc(hidden)]
2660 pub struct IMobileBroadbandAccountStatics_abi(
2661     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2662     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2663     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2664     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2665     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2666     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2667     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2668     #[cfg(not(feature = "Foundation_Collections"))] usize,
2669     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, networkaccountid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2670 );
2671 #[repr(transparent)]
2672 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2673 #[doc(hidden)]
2674 pub struct IMobileBroadbandAccountUpdatedEventArgs(::windows::runtime::IInspectable);
2675 unsafe impl ::windows::runtime::Interface for IMobileBroadbandAccountUpdatedEventArgs {
2676     type Vtable = IMobileBroadbandAccountUpdatedEventArgs_abi;
2677     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2076384648, 42685, 18913, [128, 171, 107, 145, 53, 74, 87, 212]);
2678 }
2679 #[repr(C)]
2680 #[doc(hidden)]
2681 pub struct IMobileBroadbandAccountUpdatedEventArgs_abi(
2682     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2683     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2684     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2685     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2686     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2687     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2688     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2689     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2690     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2691 );
2692 #[repr(transparent)]
2693 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2694 #[doc(hidden)]
2695 pub struct IMobileBroadbandAccountWatcher(::windows::runtime::IInspectable);
2696 unsafe impl ::windows::runtime::Interface for IMobileBroadbandAccountWatcher {
2697     type Vtable = IMobileBroadbandAccountWatcher_abi;
2698     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1811100510, 9141, 17567, [146, 141, 94, 13, 62, 4, 71, 29]);
2699 }
2700 #[repr(C)]
2701 #[doc(hidden)]
2702 pub struct IMobileBroadbandAccountWatcher_abi(
2703     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2704     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2705     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2706     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2707     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2708     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2709     #[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,
2710     #[cfg(not(feature = "Foundation"))] usize,
2711     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2712     #[cfg(not(feature = "Foundation"))] usize,
2713     #[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,
2714     #[cfg(not(feature = "Foundation"))] usize,
2715     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2716     #[cfg(not(feature = "Foundation"))] usize,
2717     #[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,
2718     #[cfg(not(feature = "Foundation"))] usize,
2719     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2720     #[cfg(not(feature = "Foundation"))] usize,
2721     #[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,
2722     #[cfg(not(feature = "Foundation"))] usize,
2723     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2724     #[cfg(not(feature = "Foundation"))] usize,
2725     #[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,
2726     #[cfg(not(feature = "Foundation"))] usize,
2727     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cookie: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2728     #[cfg(not(feature = "Foundation"))] usize,
2729     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut MobileBroadbandAccountWatcherStatus) -> ::windows::runtime::HRESULT,
2730     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2731     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2732 );
2733 #[repr(transparent)]
2734 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2735 #[doc(hidden)]
2736 pub struct IMobileBroadbandAntennaSar(::windows::runtime::IInspectable);
2737 unsafe impl ::windows::runtime::Interface for IMobileBroadbandAntennaSar {
2738     type Vtable = IMobileBroadbandAntennaSar_abi;
2739     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3115273086, 52217, 16649, [144, 190, 92, 6, 191, 213, 19, 182]);
2740 }
2741 #[repr(C)]
2742 #[doc(hidden)]
2743 pub struct IMobileBroadbandAntennaSar_abi(
2744     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2745     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2746     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2747     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2748     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2749     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2750     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
2751     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
2752 );
2753 #[repr(transparent)]
2754 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2755 #[doc(hidden)]
2756 pub struct IMobileBroadbandAntennaSarFactory(::windows::runtime::IInspectable);
2757 unsafe impl ::windows::runtime::Interface for IMobileBroadbandAntennaSarFactory {
2758     type Vtable = IMobileBroadbandAntennaSarFactory_abi;
2759     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2837321494, 49229, 18977, [134, 152, 20, 89, 220, 103, 44, 110]);
2760 }
2761 #[repr(C)]
2762 #[doc(hidden)]
2763 pub struct IMobileBroadbandAntennaSarFactory_abi(
2764     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2765     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2766     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2767     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2768     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2769     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2770     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, antennaindex: i32, sarbackoffindex: i32, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2771 );
2772 #[repr(transparent)]
2773 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2774 #[doc(hidden)]
2775 pub struct IMobileBroadbandCellCdma(::windows::runtime::IInspectable);
2776 unsafe impl ::windows::runtime::Interface for IMobileBroadbandCellCdma {
2777     type Vtable = IMobileBroadbandCellCdma_abi;
2778     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(100774836, 16666, 20270, [130, 135, 118, 245, 101, 12, 96, 205]);
2779 }
2780 #[repr(C)]
2781 #[doc(hidden)]
2782 pub struct IMobileBroadbandCellCdma_abi(
2783     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2784     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2785     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2786     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2787     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2788     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2789     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2790     #[cfg(not(feature = "Foundation"))] usize,
2791     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2792     #[cfg(not(feature = "Foundation"))] usize,
2793     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2794     #[cfg(not(feature = "Foundation"))] usize,
2795     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2796     #[cfg(not(feature = "Foundation"))] usize,
2797     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2798     #[cfg(not(feature = "Foundation"))] usize,
2799     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2800     #[cfg(not(feature = "Foundation"))] usize,
2801     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2802     #[cfg(not(feature = "Foundation"))] usize,
2803     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2804     #[cfg(not(feature = "Foundation"))] usize,
2805 );
2806 #[repr(transparent)]
2807 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2808 #[doc(hidden)]
2809 pub struct IMobileBroadbandCellGsm(::windows::runtime::IInspectable);
2810 unsafe impl ::windows::runtime::Interface for IMobileBroadbandCellGsm {
2811     type Vtable = IMobileBroadbandCellGsm_abi;
2812     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3432087302, 32480, 18360, [158, 31, 195, 180, 141, 249, 223, 91]);
2813 }
2814 #[repr(C)]
2815 #[doc(hidden)]
2816 pub struct IMobileBroadbandCellGsm_abi(
2817     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2818     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2819     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2820     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2821     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2822     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2823     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2824     #[cfg(not(feature = "Foundation"))] usize,
2825     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2826     #[cfg(not(feature = "Foundation"))] usize,
2827     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2828     #[cfg(not(feature = "Foundation"))] usize,
2829     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2830     #[cfg(not(feature = "Foundation"))] usize,
2831     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2832     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2833     #[cfg(not(feature = "Foundation"))] usize,
2834     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2835     #[cfg(not(feature = "Foundation"))] usize,
2836 );
2837 #[repr(transparent)]
2838 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2839 #[doc(hidden)]
2840 pub struct IMobileBroadbandCellLte(::windows::runtime::IInspectable);
2841 unsafe impl ::windows::runtime::Interface for IMobileBroadbandCellLte {
2842     type Vtable = IMobileBroadbandCellLte_abi;
2843     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2442643579, 11128, 17773, [139, 83, 170, 162, 93, 10, 247, 65]);
2844 }
2845 #[repr(C)]
2846 #[doc(hidden)]
2847 pub struct IMobileBroadbandCellLte_abi(
2848     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2849     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2850     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2851     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2852     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2853     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2854     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2855     #[cfg(not(feature = "Foundation"))] usize,
2856     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2857     #[cfg(not(feature = "Foundation"))] usize,
2858     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2859     #[cfg(not(feature = "Foundation"))] usize,
2860     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2861     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2862     #[cfg(not(feature = "Foundation"))] usize,
2863     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2864     #[cfg(not(feature = "Foundation"))] usize,
2865     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2866     #[cfg(not(feature = "Foundation"))] usize,
2867     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2868     #[cfg(not(feature = "Foundation"))] usize,
2869 );
2870 #[repr(transparent)]
2871 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2872 #[doc(hidden)]
2873 pub struct IMobileBroadbandCellNR(::windows::runtime::IInspectable);
2874 unsafe impl ::windows::runtime::Interface for IMobileBroadbandCellNR {
2875     type Vtable = IMobileBroadbandCellNR_abi;
2876     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2705264107, 26364, 19275, [131, 169, 164, 135, 163, 165, 160, 166]);
2877 }
2878 #[repr(C)]
2879 #[doc(hidden)]
2880 pub struct IMobileBroadbandCellNR_abi(
2881     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2882     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2883     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2884     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2885     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2886     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2887     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2888     #[cfg(not(feature = "Foundation"))] usize,
2889     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2890     #[cfg(not(feature = "Foundation"))] usize,
2891     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2892     #[cfg(not(feature = "Foundation"))] usize,
2893     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2894     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2895     #[cfg(not(feature = "Foundation"))] usize,
2896     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2897     #[cfg(not(feature = "Foundation"))] usize,
2898     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2899     #[cfg(not(feature = "Foundation"))] usize,
2900     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2901     #[cfg(not(feature = "Foundation"))] usize,
2902     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2903     #[cfg(not(feature = "Foundation"))] usize,
2904 );
2905 #[repr(transparent)]
2906 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2907 #[doc(hidden)]
2908 pub struct IMobileBroadbandCellTdscdma(::windows::runtime::IInspectable);
2909 unsafe impl ::windows::runtime::Interface for IMobileBroadbandCellTdscdma {
2910     type Vtable = IMobileBroadbandCellTdscdma_abi;
2911     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(249173589, 56078, 16770, [140, 218, 204, 65, 154, 123, 222, 8]);
2912 }
2913 #[repr(C)]
2914 #[doc(hidden)]
2915 pub struct IMobileBroadbandCellTdscdma_abi(
2916     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2917     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2918     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2919     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2920     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2921     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2922     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2923     #[cfg(not(feature = "Foundation"))] usize,
2924     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2925     #[cfg(not(feature = "Foundation"))] usize,
2926     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2927     #[cfg(not(feature = "Foundation"))] usize,
2928     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2929     #[cfg(not(feature = "Foundation"))] usize,
2930     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2931     #[cfg(not(feature = "Foundation"))] usize,
2932     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2933     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2934     #[cfg(not(feature = "Foundation"))] usize,
2935     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2936     #[cfg(not(feature = "Foundation"))] usize,
2937 );
2938 #[repr(transparent)]
2939 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2940 #[doc(hidden)]
2941 pub struct IMobileBroadbandCellUmts(::windows::runtime::IInspectable);
2942 unsafe impl ::windows::runtime::Interface for IMobileBroadbandCellUmts {
2943     type Vtable = IMobileBroadbandCellUmts_abi;
2944     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2008331694, 18888, 20245, [178, 133, 76, 38, 167, 246, 114, 21]);
2945 }
2946 #[repr(C)]
2947 #[doc(hidden)]
2948 pub struct IMobileBroadbandCellUmts_abi(
2949     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2950     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2951     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2952     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2953     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2954     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2955     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2956     #[cfg(not(feature = "Foundation"))] usize,
2957     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2958     #[cfg(not(feature = "Foundation"))] usize,
2959     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2960     #[cfg(not(feature = "Foundation"))] usize,
2961     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2962     #[cfg(not(feature = "Foundation"))] usize,
2963     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2964     #[cfg(not(feature = "Foundation"))] usize,
2965     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2966     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2967     #[cfg(not(feature = "Foundation"))] usize,
2968     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2969     #[cfg(not(feature = "Foundation"))] usize,
2970 );
2971 #[repr(transparent)]
2972 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2973 #[doc(hidden)]
2974 pub struct IMobileBroadbandCellsInfo(::windows::runtime::IInspectable);
2975 unsafe impl ::windows::runtime::Interface for IMobileBroadbandCellsInfo {
2976     type Vtable = IMobileBroadbandCellsInfo_abi;
2977     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2309576234, 58482, 19877, [146, 156, 222, 97, 113, 29, 210, 97]);
2978 }
2979 #[repr(C)]
2980 #[doc(hidden)]
2981 pub struct IMobileBroadbandCellsInfo_abi(
2982     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2983     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2984     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2985     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2986     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2987     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2988     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2989     #[cfg(not(feature = "Foundation_Collections"))] usize,
2990     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2991     #[cfg(not(feature = "Foundation_Collections"))] usize,
2992     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2993     #[cfg(not(feature = "Foundation_Collections"))] usize,
2994     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2995     #[cfg(not(feature = "Foundation_Collections"))] usize,
2996     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2997     #[cfg(not(feature = "Foundation_Collections"))] usize,
2998     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2999     #[cfg(not(feature = "Foundation_Collections"))] usize,
3000     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3001     #[cfg(not(feature = "Foundation_Collections"))] usize,
3002     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3003     #[cfg(not(feature = "Foundation_Collections"))] usize,
3004     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3005     #[cfg(not(feature = "Foundation_Collections"))] usize,
3006     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3007     #[cfg(not(feature = "Foundation_Collections"))] usize,
3008 );
3009 #[repr(transparent)]
3010 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3011 #[doc(hidden)]
3012 pub struct IMobileBroadbandCellsInfo2(::windows::runtime::IInspectable);
3013 unsafe impl ::windows::runtime::Interface for IMobileBroadbandCellsInfo2 {
3014     type Vtable = IMobileBroadbandCellsInfo2_abi;
3015     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1713395986, 47263, 19986, [187, 182, 213, 207, 9, 168, 32, 202]);
3016 }
3017 #[repr(C)]
3018 #[doc(hidden)]
3019 pub struct IMobileBroadbandCellsInfo2_abi(
3020     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3021     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3022     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3023     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3024     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3025     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3026     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3027     #[cfg(not(feature = "Foundation_Collections"))] usize,
3028     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3029     #[cfg(not(feature = "Foundation_Collections"))] usize,
3030 );
3031 #[repr(transparent)]
3032 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3033 #[doc(hidden)]
3034 pub struct IMobileBroadbandCurrentSlotIndexChangedEventArgs(::windows::runtime::IInspectable);
3035 unsafe impl ::windows::runtime::Interface for IMobileBroadbandCurrentSlotIndexChangedEventArgs {
3036     type Vtable = IMobileBroadbandCurrentSlotIndexChangedEventArgs_abi;
3037     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4145590660, 50032, 24532, [166, 112, 24, 70, 203, 155, 206, 71]);
3038 }
3039 #[repr(C)]
3040 #[doc(hidden)]
3041 pub struct IMobileBroadbandCurrentSlotIndexChangedEventArgs_abi(
3042     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3043     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3044     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3045     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3046     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3047     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3048     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
3049 );
3050 #[repr(transparent)]
3051 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3052 #[doc(hidden)]
3053 pub struct IMobileBroadbandDeviceInformation(::windows::runtime::IInspectable);
3054 unsafe impl ::windows::runtime::Interface for IMobileBroadbandDeviceInformation {
3055     type Vtable = IMobileBroadbandDeviceInformation_abi;
3056     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3872424296, 58241, 19566, [155, 232, 254, 21, 105, 105, 164, 70]);
3057 }
3058 #[repr(C)]
3059 #[doc(hidden)]
3060 pub struct IMobileBroadbandDeviceInformation_abi(
3061     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3062     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3063     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3064     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3065     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3066     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3067     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut NetworkDeviceStatus) -> ::windows::runtime::HRESULT,
3068     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3069     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3070     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3071     #[cfg(feature = "Devices_Sms")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Devices::Sms::CellularClass) -> ::windows::runtime::HRESULT,
3072     #[cfg(not(feature = "Devices_Sms"))] usize,
3073     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut DataClasses) -> ::windows::runtime::HRESULT,
3074     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3075     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3076     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3077     #[cfg(not(feature = "Foundation_Collections"))] usize,
3078     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3079     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3080     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut MobileBroadbandDeviceType) -> ::windows::runtime::HRESULT,
3081     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3082     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut MobileBroadbandRadioState) -> ::windows::runtime::HRESULT,
3083 );
3084 #[repr(transparent)]
3085 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3086 #[doc(hidden)]
3087 pub struct IMobileBroadbandDeviceInformation2(::windows::runtime::IInspectable);
3088 unsafe impl ::windows::runtime::Interface for IMobileBroadbandDeviceInformation2 {
3089     type Vtable = IMobileBroadbandDeviceInformation2_abi;
3090     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(776370929, 63794, 18231, [167, 34, 3, 186, 114, 55, 12, 184]);
3091 }
3092 #[repr(C)]
3093 #[doc(hidden)]
3094 pub struct IMobileBroadbandDeviceInformation2_abi(
3095     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3096     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3097     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3098     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3099     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3100     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3101     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3102     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3103     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3104 );
3105 #[repr(transparent)]
3106 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3107 #[doc(hidden)]
3108 pub struct IMobileBroadbandDeviceInformation3(::windows::runtime::IInspectable);
3109 unsafe impl ::windows::runtime::Interface for IMobileBroadbandDeviceInformation3 {
3110     type Vtable = IMobileBroadbandDeviceInformation3_abi;
3111     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3767252157, 23856, 19290, [146, 204, 213, 77, 248, 129, 212, 158]);
3112 }
3113 #[repr(C)]
3114 #[doc(hidden)]
3115 pub struct IMobileBroadbandDeviceInformation3_abi(
3116     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3117     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3118     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3119     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3120     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3121     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3122     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3123     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3124     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3125 );
3126 #[repr(transparent)]
3127 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3128 #[doc(hidden)]
3129 pub struct IMobileBroadbandDeviceInformation4(::windows::runtime::IInspectable);
3130 unsafe impl ::windows::runtime::Interface for IMobileBroadbandDeviceInformation4 {
3131     type Vtable = IMobileBroadbandDeviceInformation4_abi;
3132     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(641675602, 31645, 22572, [177, 124, 248, 10, 96, 181, 0, 49]);
3133 }
3134 #[repr(C)]
3135 #[doc(hidden)]
3136 pub struct IMobileBroadbandDeviceInformation4_abi(
3137     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3138     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3139     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3140     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3141     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3142     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3143     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3144 );
3145 #[repr(transparent)]
3146 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3147 #[doc(hidden)]
3148 pub struct IMobileBroadbandDeviceService(::windows::runtime::IInspectable);
3149 unsafe impl ::windows::runtime::Interface for IMobileBroadbandDeviceService {
3150     type Vtable = IMobileBroadbandDeviceService_abi;
3151     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(582883922, 48512, 16556, [142, 31, 46, 7, 131, 106, 61, 189]);
3152 }
3153 #[repr(C)]
3154 #[doc(hidden)]
3155 pub struct IMobileBroadbandDeviceService_abi(
3156     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3157     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3158     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3159     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3160     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3161     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3162     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3163     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3164     #[cfg(not(feature = "Foundation_Collections"))] usize,
3165     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3166     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3167 );
3168 #[repr(transparent)]
3169 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3170 #[doc(hidden)]
3171 pub struct IMobileBroadbandDeviceServiceCommandResult(::windows::runtime::IInspectable);
3172 unsafe impl ::windows::runtime::Interface for IMobileBroadbandDeviceServiceCommandResult {
3173     type Vtable = IMobileBroadbandDeviceServiceCommandResult_abi;
3174     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2968808123, 38102, 17593, [165, 56, 240, 129, 11, 100, 83, 137]);
3175 }
3176 #[repr(C)]
3177 #[doc(hidden)]
3178 pub struct IMobileBroadbandDeviceServiceCommandResult_abi(
3179     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3180     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3181     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3182     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3183     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3184     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3185     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
3186     #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3187     #[cfg(not(feature = "Storage_Streams"))] usize,
3188 );
3189 #[repr(transparent)]
3190 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3191 #[doc(hidden)]
3192 pub struct IMobileBroadbandDeviceServiceCommandSession(::windows::runtime::IInspectable);
3193 unsafe impl ::windows::runtime::Interface for IMobileBroadbandDeviceServiceCommandSession {
3194     type Vtable = IMobileBroadbandDeviceServiceCommandSession_abi;
3195     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4228483653, 37179, 18708, [182, 195, 174, 99, 4, 89, 62, 117]);
3196 }
3197 #[repr(C)]
3198 #[doc(hidden)]
3199 pub struct IMobileBroadbandDeviceServiceCommandSession_abi(
3200     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3201     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3202     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3203     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3204     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3205     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3206     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, commandid: u32, data: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3207     #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))] usize,
3208     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, commandid: u32, data: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3209     #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))] usize,
3210     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3211 );
3212 #[repr(transparent)]
3213 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3214 #[doc(hidden)]
3215 pub struct IMobileBroadbandDeviceServiceDataReceivedEventArgs(::windows::runtime::IInspectable);
3216 unsafe impl ::windows::runtime::Interface for IMobileBroadbandDeviceServiceDataReceivedEventArgs {
3217     type Vtable = IMobileBroadbandDeviceServiceDataReceivedEventArgs_abi;
3218     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3064599518, 4992, 16611, [134, 24, 115, 203, 202, 72, 19, 140]);
3219 }
3220 #[repr(C)]
3221 #[doc(hidden)]
3222 pub struct IMobileBroadbandDeviceServiceDataReceivedEventArgs_abi(
3223     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3224     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3225     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3226     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3227     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3228     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3229     #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3230     #[cfg(not(feature = "Storage_Streams"))] usize,
3231 );
3232 #[repr(transparent)]
3233 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3234 #[doc(hidden)]
3235 pub struct IMobileBroadbandDeviceServiceDataSession(::windows::runtime::IInspectable);
3236 unsafe impl ::windows::runtime::Interface for IMobileBroadbandDeviceServiceDataSession {
3237     type Vtable = IMobileBroadbandDeviceServiceDataSession_abi;
3238     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3671466803, 35791, 17033, [138, 55, 4, 92, 33, 105, 72, 106]);
3239 }
3240 #[repr(C)]
3241 #[doc(hidden)]
3242 pub struct IMobileBroadbandDeviceServiceDataSession_abi(
3243     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3244     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3245     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3246     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3247     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3248     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3249     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3250     #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))] usize,
3251     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3252     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventhandler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
3253     #[cfg(not(feature = "Foundation"))] usize,
3254     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eventcookie: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
3255     #[cfg(not(feature = "Foundation"))] usize,
3256 );
3257 #[repr(transparent)]
3258 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3259 #[doc(hidden)]
3260 pub struct IMobileBroadbandDeviceServiceInformation(::windows::runtime::IInspectable);
3261 unsafe impl ::windows::runtime::Interface for IMobileBroadbandDeviceServiceInformation {
3262     type Vtable = IMobileBroadbandDeviceServiceInformation_abi;
3263     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1406573403, 50413, 17904, [128, 58, 217, 65, 122, 109, 152, 70]);
3264 }
3265 #[repr(C)]
3266 #[doc(hidden)]
3267 pub struct IMobileBroadbandDeviceServiceInformation_abi(
3268     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3269     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3270     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3271     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3272     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3273     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3274     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3275     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
3276     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
3277 );
3278 #[repr(transparent)]
3279 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3280 #[doc(hidden)]
3281 pub struct IMobileBroadbandDeviceServiceTriggerDetails(::windows::runtime::IInspectable);
3282 unsafe impl ::windows::runtime::Interface for IMobileBroadbandDeviceServiceTriggerDetails {
3283     type Vtable = IMobileBroadbandDeviceServiceTriggerDetails_abi;
3284     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1241865072, 47534, 17496, [146, 65, 166, 165, 251, 241, 138, 12]);
3285 }
3286 #[repr(C)]
3287 #[doc(hidden)]
3288 pub struct IMobileBroadbandDeviceServiceTriggerDetails_abi(
3289     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3290     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3291     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3292     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3293     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3294     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3295     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3296     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3297     #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3298     #[cfg(not(feature = "Storage_Streams"))] usize,
3299 );
3300 #[repr(transparent)]
3301 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3302 #[doc(hidden)]
3303 pub struct IMobileBroadbandModem(::windows::runtime::IInspectable);
3304 unsafe impl ::windows::runtime::Interface for IMobileBroadbandModem {
3305     type Vtable = IMobileBroadbandModem_abi;
3306     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3493161234, 59897, 20327, [160, 61, 67, 24, 154, 49, 107, 241]);
3307 }
3308 #[repr(C)]
3309 #[doc(hidden)]
3310 pub struct IMobileBroadbandModem_abi(
3311     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3312     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3313     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3314     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3315     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3316     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3317     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3318     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3319     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
3320     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
3321     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3322     #[cfg(not(feature = "Foundation_Collections"))] usize,
3323     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, deviceserviceid: ::windows::runtime::GUID, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3324     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
3325     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3326     #[cfg(not(feature = "Foundation"))] usize,
3327     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3328     #[cfg(not(feature = "Foundation"))] usize,
3329     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3330 );
3331 #[repr(transparent)]
3332 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3333 #[doc(hidden)]
3334 pub struct IMobileBroadbandModem2(::windows::runtime::IInspectable);
3335 unsafe impl ::windows::runtime::Interface for IMobileBroadbandModem2 {
3336     type Vtable = IMobileBroadbandModem2_abi;
3337     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(310782760, 47595, 20194, [187, 227, 113, 31, 83, 238, 163, 115]);
3338 }
3339 #[repr(C)]
3340 #[doc(hidden)]
3341 pub struct IMobileBroadbandModem2_abi(
3342     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3343     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3344     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3345     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3346     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3347     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3348     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3349     #[cfg(not(feature = "Foundation"))] usize,
3350     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: bool, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3351     #[cfg(not(feature = "Foundation"))] usize,
3352 );
3353 #[repr(transparent)]
3354 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3355 #[doc(hidden)]
3356 pub struct IMobileBroadbandModem3(::windows::runtime::IInspectable);
3357 unsafe impl ::windows::runtime::Interface for IMobileBroadbandModem3 {
3358     type Vtable = IMobileBroadbandModem3_abi;
3359     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3925788394, 12084, 17794, [145, 2, 195, 20, 210, 168, 126, 236]);
3360 }
3361 #[repr(C)]
3362 #[doc(hidden)]
3363 pub struct IMobileBroadbandModem3_abi(
3364     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3365     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3366     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3367     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3368     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3369     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3370     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3371     #[cfg(not(feature = "Foundation"))] usize,
3372     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
3373     #[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,
3374     #[cfg(not(feature = "Foundation"))] usize,
3375     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
3376     #[cfg(not(feature = "Foundation"))] usize,
3377 );
3378 #[repr(transparent)]
3379 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3380 #[doc(hidden)]
3381 pub struct IMobileBroadbandModemConfiguration(::windows::runtime::IInspectable);
3382 unsafe impl ::windows::runtime::Interface for IMobileBroadbandModemConfiguration {
3383     type Vtable = IMobileBroadbandModemConfiguration_abi;
3384     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4242552227, 54989, 17184, [185, 130, 190, 157, 62, 199, 137, 15]);
3385 }
3386 #[repr(C)]
3387 #[doc(hidden)]
3388 pub struct IMobileBroadbandModemConfiguration_abi(
3389     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3390     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3391     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3392     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3393     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3394     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3395     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3396     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3397     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3398 );
3399 #[repr(transparent)]
3400 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3401 #[doc(hidden)]
3402 pub struct IMobileBroadbandModemConfiguration2(::windows::runtime::IInspectable);
3403 unsafe impl ::windows::runtime::Interface for IMobileBroadbandModemConfiguration2 {
3404     type Vtable = IMobileBroadbandModemConfiguration2_abi;
3405     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(839906757, 58464, 17070, [170, 81, 105, 98, 30, 122, 68, 119]);
3406 }
3407 #[repr(C)]
3408 #[doc(hidden)]
3409 pub struct IMobileBroadbandModemConfiguration2_abi(
3410     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3411     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3412     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3413     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3414     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3415     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3416     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3417 );
3418 #[repr(transparent)]
3419 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3420 #[doc(hidden)]
3421 pub struct IMobileBroadbandModemIsolation(::windows::runtime::IInspectable);
3422 unsafe impl ::windows::runtime::Interface for IMobileBroadbandModemIsolation {
3423     type Vtable = IMobileBroadbandModemIsolation_abi;
3424     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3043069932, 58977, 17200, [155, 180, 52, 128, 33, 46, 195, 84]);
3425 }
3426 #[repr(C)]
3427 #[doc(hidden)]
3428 pub struct IMobileBroadbandModemIsolation_abi(
3429     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3430     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3431     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3432     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3433     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3434     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3435     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, host: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3436     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, first: ::windows::runtime::RawPtr, last: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3437     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3438     #[cfg(not(feature = "Foundation"))] usize,
3439     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3440     #[cfg(not(feature = "Foundation"))] usize,
3441 );
3442 #[repr(transparent)]
3443 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3444 #[doc(hidden)]
3445 pub struct IMobileBroadbandModemIsolationFactory(::windows::runtime::IInspectable);
3446 unsafe impl ::windows::runtime::Interface for IMobileBroadbandModemIsolationFactory {
3447     type Vtable = IMobileBroadbandModemIsolationFactory_abi;
3448     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(567798872, 49841, 19503, [160, 48, 114, 130, 10, 36, 236, 217]);
3449 }
3450 #[repr(C)]
3451 #[doc(hidden)]
3452 pub struct IMobileBroadbandModemIsolationFactory_abi(
3453     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3454     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3455     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3456     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3457     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3458     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3459     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, modemdeviceid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, rulegroupid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3460 );
3461 #[repr(transparent)]
3462 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3463 #[doc(hidden)]
3464 pub struct IMobileBroadbandModemStatics(::windows::runtime::IInspectable);
3465 unsafe impl ::windows::runtime::Interface for IMobileBroadbandModemStatics {
3466     type Vtable = IMobileBroadbandModemStatics_abi;
3467     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4187936311, 55025, 19064, [140, 188, 100, 33, 166, 80, 99, 200]);
3468 }
3469 #[repr(C)]
3470 #[doc(hidden)]
3471 pub struct IMobileBroadbandModemStatics_abi(
3472     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3473     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3474     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3475     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3476     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3477     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3478     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3479     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, deviceid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3480     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3481 );
3482 #[repr(transparent)]
3483 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3484 #[doc(hidden)]
3485 pub struct IMobileBroadbandNetwork(::windows::runtime::IInspectable);
3486 unsafe impl ::windows::runtime::Interface for IMobileBroadbandNetwork {
3487     type Vtable = IMobileBroadbandNetwork_abi;
3488     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3412300428, 777, 19638, [168, 193, 106, 90, 60, 142, 31, 246]);
3489 }
3490 #[repr(C)]
3491 #[doc(hidden)]
3492 pub struct IMobileBroadbandNetwork_abi(
3493     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3494     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3495     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3496     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3497     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3498     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3499     #[cfg(feature = "Networking_Connectivity")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3500     #[cfg(not(feature = "Networking_Connectivity"))] usize,
3501     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut NetworkRegistrationState) -> ::windows::runtime::HRESULT,
3502     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
3503     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
3504     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
3505     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3506     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut DataClasses) -> ::windows::runtime::HRESULT,
3507     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3508     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3509     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3510 );
3511 #[repr(transparent)]
3512 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3513 #[doc(hidden)]
3514 pub struct IMobileBroadbandNetwork2(::windows::runtime::IInspectable);
3515 unsafe impl ::windows::runtime::Interface for IMobileBroadbandNetwork2 {
3516     type Vtable = IMobileBroadbandNetwork2_abi;
3517     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1515576098, 25335, 19421, [186, 29, 71, 116, 65, 150, 11, 160]);
3518 }
3519 #[repr(C)]
3520 #[doc(hidden)]
3521 pub struct IMobileBroadbandNetwork2_abi(
3522     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3523     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3524     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3525     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3526     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3527     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3528     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3529     #[cfg(not(feature = "Foundation"))] usize,
3530     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3531     #[cfg(not(feature = "Foundation_Collections"))] usize,
3532 );
3533 #[repr(transparent)]
3534 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3535 #[doc(hidden)]
3536 pub struct IMobileBroadbandNetwork3(::windows::runtime::IInspectable);
3537 unsafe impl ::windows::runtime::Interface for IMobileBroadbandNetwork3 {
3538     type Vtable = IMobileBroadbandNetwork3_abi;
3539     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(862390922, 51183, 17484, [171, 108, 223, 126, 247, 163, 144, 254]);
3540 }
3541 #[repr(C)]
3542 #[doc(hidden)]
3543 pub struct IMobileBroadbandNetwork3_abi(
3544     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3545     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3546     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3547     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3548     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3549     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3550     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3551     #[cfg(not(feature = "Foundation"))] usize,
3552 );
3553 #[repr(transparent)]
3554 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3555 #[doc(hidden)]
3556 pub struct IMobileBroadbandNetworkRegistrationStateChange(::windows::runtime::IInspectable);
3557 unsafe impl ::windows::runtime::Interface for IMobileBroadbandNetworkRegistrationStateChange {
3558     type Vtable = IMobileBroadbandNetworkRegistrationStateChange_abi;
3559     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3199177953, 38415, 18868, [160, 141, 125, 133, 233, 104, 199, 236]);
3560 }
3561 #[repr(C)]
3562 #[doc(hidden)]
3563 pub struct IMobileBroadbandNetworkRegistrationStateChange_abi(
3564     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3565     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3566     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3567     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3568     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3569     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3570     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3571     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3572 );
3573 #[repr(transparent)]
3574 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3575 #[doc(hidden)]
3576 pub struct IMobileBroadbandNetworkRegistrationStateChangeTriggerDetails(::windows::runtime::IInspectable);
3577 unsafe impl ::windows::runtime::Interface for IMobileBroadbandNetworkRegistrationStateChangeTriggerDetails {
3578     type Vtable = IMobileBroadbandNetworkRegistrationStateChangeTriggerDetails_abi;
3579     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2299747583, 10424, 18090, [177, 55, 28, 75, 15, 33, 237, 254]);
3580 }
3581 #[repr(C)]
3582 #[doc(hidden)]
3583 pub struct IMobileBroadbandNetworkRegistrationStateChangeTriggerDetails_abi(
3584     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3585     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3586     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3587     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3588     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3589     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3590     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3591     #[cfg(not(feature = "Foundation_Collections"))] usize,
3592 );
3593 #[repr(transparent)]
3594 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3595 #[doc(hidden)]
3596 pub struct IMobileBroadbandPco(::windows::runtime::IInspectable);
3597 unsafe impl ::windows::runtime::Interface for IMobileBroadbandPco {
3598     type Vtable = IMobileBroadbandPco_abi;
3599     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3571776702, 58275, 17349, [168, 123, 108, 134, 210, 41, 215, 250]);
3600 }
3601 #[repr(C)]
3602 #[doc(hidden)]
3603 pub struct IMobileBroadbandPco_abi(
3604     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3605     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3606     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3607     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3608     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3609     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3610     #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3611     #[cfg(not(feature = "Storage_Streams"))] usize,
3612     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
3613     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3614 );
3615 #[repr(transparent)]
3616 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3617 #[doc(hidden)]
3618 pub struct IMobileBroadbandPcoDataChangeTriggerDetails(::windows::runtime::IInspectable);
3619 unsafe impl ::windows::runtime::Interface for IMobileBroadbandPcoDataChangeTriggerDetails {
3620     type Vtable = IMobileBroadbandPcoDataChangeTriggerDetails_abi;
3621     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(641683732, 25824, 17555, [144, 155, 45, 20, 160, 25, 98, 177]);
3622 }
3623 #[repr(C)]
3624 #[doc(hidden)]
3625 pub struct IMobileBroadbandPcoDataChangeTriggerDetails_abi(
3626     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3627     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3628     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3629     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3630     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3631     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3632     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3633 );
3634 #[repr(transparent)]
3635 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3636 #[doc(hidden)]
3637 pub struct IMobileBroadbandPin(::windows::runtime::IInspectable);
3638 unsafe impl ::windows::runtime::Interface for IMobileBroadbandPin {
3639     type Vtable = IMobileBroadbandPin_abi;
3640     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3865171721, 59257, 17855, [130, 129, 117, 50, 61, 249, 227, 33]);
3641 }
3642 #[repr(C)]
3643 #[doc(hidden)]
3644 pub struct IMobileBroadbandPin_abi(
3645     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3646     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3647     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3648     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3649     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3650     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3651     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut MobileBroadbandPinType) -> ::windows::runtime::HRESULT,
3652     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut MobileBroadbandPinLockState) -> ::windows::runtime::HRESULT,
3653     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut MobileBroadbandPinFormat) -> ::windows::runtime::HRESULT,
3654     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
3655     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
3656     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
3657     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
3658     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, currentpin: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3659     #[cfg(not(feature = "Foundation"))] usize,
3660     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, currentpin: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3661     #[cfg(not(feature = "Foundation"))] usize,
3662     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, currentpin: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3663     #[cfg(not(feature = "Foundation"))] usize,
3664     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, currentpin: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, newpin: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3665     #[cfg(not(feature = "Foundation"))] usize,
3666     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pinunblockkey: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, newpin: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3667     #[cfg(not(feature = "Foundation"))] usize,
3668 );
3669 #[repr(transparent)]
3670 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3671 #[doc(hidden)]
3672 pub struct IMobileBroadbandPinLockStateChange(::windows::runtime::IInspectable);
3673 unsafe impl ::windows::runtime::Interface for IMobileBroadbandPinLockStateChange {
3674     type Vtable = IMobileBroadbandPinLockStateChange_abi;
3675     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3189139262, 7940, 20373, [139, 144, 231, 245, 89, 221, 231, 229]);
3676 }
3677 #[repr(C)]
3678 #[doc(hidden)]
3679 pub struct IMobileBroadbandPinLockStateChange_abi(
3680     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3681     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3682     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3683     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3684     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3685     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3686     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3687     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut MobileBroadbandPinType) -> ::windows::runtime::HRESULT,
3688     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut MobileBroadbandPinLockState) -> ::windows::runtime::HRESULT,
3689 );
3690 #[repr(transparent)]
3691 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3692 #[doc(hidden)]
3693 pub struct IMobileBroadbandPinLockStateChangeTriggerDetails(::windows::runtime::IInspectable);
3694 unsafe impl ::windows::runtime::Interface for IMobileBroadbandPinLockStateChangeTriggerDetails {
3695     type Vtable = IMobileBroadbandPinLockStateChangeTriggerDetails_abi;
3696     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3543711889, 16017, 19768, [144, 54, 174, 232, 58, 110, 121, 173]);
3697 }
3698 #[repr(C)]
3699 #[doc(hidden)]
3700 pub struct IMobileBroadbandPinLockStateChangeTriggerDetails_abi(
3701     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3702     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3703     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3704     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3705     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3706     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3707     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3708     #[cfg(not(feature = "Foundation_Collections"))] usize,
3709 );
3710 #[repr(transparent)]
3711 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3712 #[doc(hidden)]
3713 pub struct IMobileBroadbandPinManager(::windows::runtime::IInspectable);
3714 unsafe impl ::windows::runtime::Interface for IMobileBroadbandPinManager {
3715     type Vtable = IMobileBroadbandPinManager_abi;
3716     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2203483869, 28191, 19355, [164, 19, 43, 31, 80, 204, 54, 223]);
3717 }
3718 #[repr(C)]
3719 #[doc(hidden)]
3720 pub struct IMobileBroadbandPinManager_abi(
3721     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3722     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3723     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3724     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3725     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3726     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3727     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3728     #[cfg(not(feature = "Foundation_Collections"))] usize,
3729     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pintype: MobileBroadbandPinType, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3730 );
3731 #[repr(transparent)]
3732 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3733 #[doc(hidden)]
3734 pub struct IMobileBroadbandPinOperationResult(::windows::runtime::IInspectable);
3735 unsafe impl ::windows::runtime::Interface for IMobileBroadbandPinOperationResult {
3736     type Vtable = IMobileBroadbandPinOperationResult_abi;
3737     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(299752498, 12775, 18933, [182, 99, 18, 61, 59, 239, 3, 98]);
3738 }
3739 #[repr(C)]
3740 #[doc(hidden)]
3741 pub struct IMobileBroadbandPinOperationResult_abi(
3742     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3743     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3744     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3745     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3746     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3747     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3748     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
3749     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
3750 );
3751 #[repr(transparent)]
3752 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3753 #[doc(hidden)]
3754 pub struct IMobileBroadbandRadioStateChange(::windows::runtime::IInspectable);
3755 unsafe impl ::windows::runtime::Interface for IMobileBroadbandRadioStateChange {
3756     type Vtable = IMobileBroadbandRadioStateChange_abi;
3757     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2958337377, 38963, 19181, [151, 23, 67, 72, 178, 26, 36, 179]);
3758 }
3759 #[repr(C)]
3760 #[doc(hidden)]
3761 pub struct IMobileBroadbandRadioStateChange_abi(
3762     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3763     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3764     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3765     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3766     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3767     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3768     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3769     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut MobileBroadbandRadioState) -> ::windows::runtime::HRESULT,
3770 );
3771 #[repr(transparent)]
3772 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3773 #[doc(hidden)]
3774 pub struct IMobileBroadbandRadioStateChangeTriggerDetails(::windows::runtime::IInspectable);
3775 unsafe impl ::windows::runtime::Interface for IMobileBroadbandRadioStateChangeTriggerDetails {
3776     type Vtable = IMobileBroadbandRadioStateChangeTriggerDetails_abi;
3777     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1898977998, 2364, 17094, [176, 219, 173, 31, 117, 166, 84, 69]);
3778 }
3779 #[repr(C)]
3780 #[doc(hidden)]
3781 pub struct IMobileBroadbandRadioStateChangeTriggerDetails_abi(
3782     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3783     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3784     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3785     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3786     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3787     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3788     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3789     #[cfg(not(feature = "Foundation_Collections"))] usize,
3790 );
3791 #[repr(transparent)]
3792 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3793 #[doc(hidden)]
3794 pub struct IMobileBroadbandSarManager(::windows::runtime::IInspectable);
3795 unsafe impl ::windows::runtime::Interface for IMobileBroadbandSarManager {
3796     type Vtable = IMobileBroadbandSarManager_abi;
3797     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3853674547, 38526, 16585, [164, 133, 25, 192, 221, 32, 158, 34]);
3798 }
3799 #[repr(C)]
3800 #[doc(hidden)]
3801 pub struct IMobileBroadbandSarManager_abi(
3802     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3803     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3804     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3805     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3806     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3807     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3808     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
3809     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
3810     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
3811     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3812     #[cfg(not(feature = "Foundation_Collections"))] usize,
3813     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT,
3814     #[cfg(not(feature = "Foundation"))] usize,
3815     #[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,
3816     #[cfg(not(feature = "Foundation"))] usize,
3817     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
3818     #[cfg(not(feature = "Foundation"))] usize,
3819     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3820     #[cfg(not(feature = "Foundation"))] usize,
3821     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3822     #[cfg(not(feature = "Foundation"))] usize,
3823     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, antennas: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3824     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
3825     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3826     #[cfg(not(feature = "Foundation"))] usize,
3827     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, timerperiod: super::super::Foundation::TimeSpan, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3828     #[cfg(not(feature = "Foundation"))] usize,
3829     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3830     #[cfg(not(feature = "Foundation"))] usize,
3831     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3832     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3833 );
3834 #[repr(transparent)]
3835 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3836 #[doc(hidden)]
3837 pub struct IMobileBroadbandSlotInfo(::windows::runtime::IInspectable);
3838 unsafe impl ::windows::runtime::Interface for IMobileBroadbandSlotInfo {
3839     type Vtable = IMobileBroadbandSlotInfo_abi;
3840     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3174370098, 34862, 21546, [177, 125, 11, 177, 180, 155, 174, 158]);
3841 }
3842 #[repr(C)]
3843 #[doc(hidden)]
3844 pub struct IMobileBroadbandSlotInfo_abi(
3845     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3846     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3847     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3848     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3849     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3850     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3851     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
3852     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut MobileBroadbandSlotState) -> ::windows::runtime::HRESULT,
3853 );
3854 #[repr(transparent)]
3855 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3856 #[doc(hidden)]
3857 pub struct IMobileBroadbandSlotInfoChangedEventArgs(::windows::runtime::IInspectable);
3858 unsafe impl ::windows::runtime::Interface for IMobileBroadbandSlotInfoChangedEventArgs {
3859     type Vtable = IMobileBroadbandSlotInfoChangedEventArgs_abi;
3860     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(827884447, 38156, 21710, [164, 141, 186, 69, 41, 180, 143, 15]);
3861 }
3862 #[repr(C)]
3863 #[doc(hidden)]
3864 pub struct IMobileBroadbandSlotInfoChangedEventArgs_abi(
3865     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3866     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3867     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3868     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3869     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3870     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3871     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3872 );
3873 #[repr(transparent)]
3874 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3875 #[doc(hidden)]
3876 pub struct IMobileBroadbandSlotManager(::windows::runtime::IInspectable);
3877 unsafe impl ::windows::runtime::Interface for IMobileBroadbandSlotManager {
3878     type Vtable = IMobileBroadbandSlotManager_abi;
3879     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3953163478, 8217, 24449, [162, 148, 204, 54, 74, 17, 208, 178]);
3880 }
3881 #[repr(C)]
3882 #[doc(hidden)]
3883 pub struct IMobileBroadbandSlotManager_abi(
3884     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3885     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3886     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3887     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3888     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3889     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3890     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3891     #[cfg(not(feature = "Foundation_Collections"))] usize,
3892     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
3893     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, slotindex: i32, result__: *mut MobileBroadbandModemStatus) -> ::windows::runtime::HRESULT,
3894     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, slotindex: i32, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3895     #[cfg(not(feature = "Foundation"))] usize,
3896     #[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,
3897     #[cfg(not(feature = "Foundation"))] usize,
3898     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
3899     #[cfg(not(feature = "Foundation"))] usize,
3900     #[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,
3901     #[cfg(not(feature = "Foundation"))] usize,
3902     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
3903     #[cfg(not(feature = "Foundation"))] usize,
3904 );
3905 #[repr(transparent)]
3906 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3907 #[doc(hidden)]
3908 pub struct IMobileBroadbandTransmissionStateChangedEventArgs(::windows::runtime::IInspectable);
3909 unsafe impl ::windows::runtime::Interface for IMobileBroadbandTransmissionStateChangedEventArgs {
3910     type Vtable = IMobileBroadbandTransmissionStateChangedEventArgs_abi;
3911     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1630419061, 1034, 20377, [164, 249, 97, 215, 195, 45, 161, 41]);
3912 }
3913 #[repr(C)]
3914 #[doc(hidden)]
3915 pub struct IMobileBroadbandTransmissionStateChangedEventArgs_abi(
3916     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3917     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3918     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3919     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3920     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3921     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3922     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
3923 );
3924 #[repr(transparent)]
3925 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3926 #[doc(hidden)]
3927 pub struct IMobileBroadbandUicc(::windows::runtime::IInspectable);
3928 unsafe impl ::windows::runtime::Interface for IMobileBroadbandUicc {
3929     type Vtable = IMobileBroadbandUicc_abi;
3930     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3862230673, 21082, 19682, [143, 206, 170, 65, 98, 87, 145, 84]);
3931 }
3932 #[repr(C)]
3933 #[doc(hidden)]
3934 pub struct IMobileBroadbandUicc_abi(
3935     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3936     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3937     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3938     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3939     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3940     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3941     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3942     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3943     #[cfg(not(feature = "Foundation"))] usize,
3944 );
3945 #[repr(transparent)]
3946 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3947 #[doc(hidden)]
3948 pub struct IMobileBroadbandUiccApp(::windows::runtime::IInspectable);
3949 unsafe impl ::windows::runtime::Interface for IMobileBroadbandUiccApp {
3950     type Vtable = IMobileBroadbandUiccApp_abi;
3951     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1293354326, 39073, 17373, [178, 236, 80, 201, 12, 242, 72, 223]);
3952 }
3953 #[repr(C)]
3954 #[doc(hidden)]
3955 pub struct IMobileBroadbandUiccApp_abi(
3956     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3957     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3958     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3959     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3960     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3961     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3962     #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3963     #[cfg(not(feature = "Storage_Streams"))] usize,
3964     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut UiccAppKind) -> ::windows::runtime::HRESULT,
3965     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uiccfilepath: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3966     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
3967     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uiccfilepath: ::windows::runtime::RawPtr, recordindex: i32, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3968     #[cfg(not(all(feature = "Foundation", feature = "Foundation_Collections")))] usize,
3969 );
3970 #[repr(transparent)]
3971 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3972 #[doc(hidden)]
3973 pub struct IMobileBroadbandUiccAppReadRecordResult(::windows::runtime::IInspectable);
3974 unsafe impl ::windows::runtime::Interface for IMobileBroadbandUiccAppReadRecordResult {
3975     type Vtable = IMobileBroadbandUiccAppReadRecordResult_abi;
3976     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1690915461, 13710, 18373, [130, 73, 105, 95, 56, 59, 43, 219]);
3977 }
3978 #[repr(C)]
3979 #[doc(hidden)]
3980 pub struct IMobileBroadbandUiccAppReadRecordResult_abi(
3981     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3982     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3983     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3984     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3985     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3986     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3987     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut MobileBroadbandUiccAppOperationStatus) -> ::windows::runtime::HRESULT,
3988     #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3989     #[cfg(not(feature = "Storage_Streams"))] usize,
3990 );
3991 #[repr(transparent)]
3992 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3993 #[doc(hidden)]
3994 pub struct IMobileBroadbandUiccAppRecordDetailsResult(::windows::runtime::IInspectable);
3995 unsafe impl ::windows::runtime::Interface for IMobileBroadbandUiccAppRecordDetailsResult {
3996     type Vtable = IMobileBroadbandUiccAppRecordDetailsResult_abi;
3997     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3642320943, 48660, 18740, [152, 29, 47, 87, 185, 237, 131, 230]);
3998 }
3999 #[repr(C)]
4000 #[doc(hidden)]
4001 pub struct IMobileBroadbandUiccAppRecordDetailsResult_abi(
4002     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4003     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4004     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4005     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4006     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4007     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4008     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut MobileBroadbandUiccAppOperationStatus) -> ::windows::runtime::HRESULT,
4009     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut UiccAppRecordKind) -> ::windows::runtime::HRESULT,
4010     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
4011     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut i32) -> ::windows::runtime::HRESULT,
4012     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut UiccAccessCondition) -> ::windows::runtime::HRESULT,
4013     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut UiccAccessCondition) -> ::windows::runtime::HRESULT,
4014 );
4015 #[repr(transparent)]
4016 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4017 #[doc(hidden)]
4018 pub struct IMobileBroadbandUiccAppsResult(::windows::runtime::IInspectable);
4019 unsafe impl ::windows::runtime::Interface for IMobileBroadbandUiccAppsResult {
4020     type Vtable = IMobileBroadbandUiccAppsResult_abi;
4021     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1950953707, 33111, 19009, [132, 148, 107, 245, 76, 155, 29, 43]);
4022 }
4023 #[repr(C)]
4024 #[doc(hidden)]
4025 pub struct IMobileBroadbandUiccAppsResult_abi(
4026     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4027     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4028     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4029     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4030     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4031     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4032     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut MobileBroadbandUiccAppOperationStatus) -> ::windows::runtime::HRESULT,
4033     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4034     #[cfg(not(feature = "Foundation_Collections"))] usize,
4035 );
4036 #[repr(transparent)]
4037 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4038 #[doc(hidden)]
4039 pub struct INetworkOperatorDataUsageTriggerDetails(::windows::runtime::IInspectable);
4040 unsafe impl ::windows::runtime::Interface for INetworkOperatorDataUsageTriggerDetails {
4041     type Vtable = INetworkOperatorDataUsageTriggerDetails_abi;
4042     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1357058669, 42085, 20203, [147, 23, 40, 161, 103, 99, 12, 234]);
4043 }
4044 #[repr(C)]
4045 #[doc(hidden)]
4046 pub struct INetworkOperatorDataUsageTriggerDetails_abi(
4047     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4048     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4049     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4050     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4051     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4052     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4053     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut NetworkOperatorDataUsageNotificationKind) -> ::windows::runtime::HRESULT,
4054 );
4055 #[repr(transparent)]
4056 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4057 #[doc(hidden)]
4058 pub struct INetworkOperatorNotificationEventDetails(::windows::runtime::IInspectable);
4059 unsafe impl ::windows::runtime::Interface for INetworkOperatorNotificationEventDetails {
4060     type Vtable = INetworkOperatorNotificationEventDetails_abi;
4061     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3160975825, 33505, 17544, [159, 44, 18, 118, 194, 70, 143, 172]);
4062 }
4063 #[repr(C)]
4064 #[doc(hidden)]
4065 pub struct INetworkOperatorNotificationEventDetails_abi(
4066     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4067     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4068     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4069     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4070     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4071     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4072     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut NetworkOperatorEventMessageType) -> ::windows::runtime::HRESULT,
4073     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4074     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u8) -> ::windows::runtime::HRESULT,
4075     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4076     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4077     #[cfg(feature = "Devices_Sms")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4078     #[cfg(not(feature = "Devices_Sms"))] usize,
4079 );
4080 #[repr(transparent)]
4081 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4082 #[doc(hidden)]
4083 pub struct INetworkOperatorTetheringAccessPointConfiguration(::windows::runtime::IInspectable);
4084 unsafe impl ::windows::runtime::Interface for INetworkOperatorTetheringAccessPointConfiguration {
4085     type Vtable = INetworkOperatorTetheringAccessPointConfiguration_abi;
4086     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(197919364, 16686, 16445, [172, 198, 183, 87, 227, 71, 116, 164]);
4087 }
4088 #[repr(C)]
4089 #[doc(hidden)]
4090 pub struct INetworkOperatorTetheringAccessPointConfiguration_abi(
4091     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4092     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4093     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4094     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4095     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4096     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4097     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4098     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4099     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4100     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4101 );
4102 #[repr(transparent)]
4103 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4104 #[doc(hidden)]
4105 pub struct INetworkOperatorTetheringAccessPointConfiguration2(::windows::runtime::IInspectable);
4106 unsafe impl ::windows::runtime::Interface for INetworkOperatorTetheringAccessPointConfiguration2 {
4107     type Vtable = INetworkOperatorTetheringAccessPointConfiguration2_abi;
4108     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2977993026, 29240, 22944, [146, 139, 116, 171, 70, 253, 100, 182]);
4109 }
4110 #[repr(C)]
4111 #[doc(hidden)]
4112 pub struct INetworkOperatorTetheringAccessPointConfiguration2_abi(
4113     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4114     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4115     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4116     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4117     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4118     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4119     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, band: TetheringWiFiBand, result__: *mut bool) -> ::windows::runtime::HRESULT,
4120     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, band: TetheringWiFiBand, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4121     #[cfg(not(feature = "Foundation"))] usize,
4122     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut TetheringWiFiBand) -> ::windows::runtime::HRESULT,
4123     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: TetheringWiFiBand) -> ::windows::runtime::HRESULT,
4124 );
4125 #[repr(transparent)]
4126 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4127 #[doc(hidden)]
4128 pub struct INetworkOperatorTetheringClient(::windows::runtime::IInspectable);
4129 unsafe impl ::windows::runtime::Interface for INetworkOperatorTetheringClient {
4130     type Vtable = INetworkOperatorTetheringClient_abi;
4131     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1889346892, 22879, 18503, [187, 48, 100, 105, 53, 84, 41, 24]);
4132 }
4133 #[repr(C)]
4134 #[doc(hidden)]
4135 pub struct INetworkOperatorTetheringClient_abi(
4136     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4137     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4138     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4139     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4140     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4141     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4142     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4143     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4144     #[cfg(not(feature = "Foundation_Collections"))] usize,
4145 );
4146 #[repr(transparent)]
4147 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4148 #[doc(hidden)]
4149 pub struct INetworkOperatorTetheringClientManager(::windows::runtime::IInspectable);
4150 unsafe impl ::windows::runtime::Interface for INetworkOperatorTetheringClientManager {
4151     type Vtable = INetworkOperatorTetheringClientManager_abi;
4152     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2444312598, 36298, 16933, [187, 237, 238, 248, 184, 215, 24, 215]);
4153 }
4154 #[repr(C)]
4155 #[doc(hidden)]
4156 pub struct INetworkOperatorTetheringClientManager_abi(
4157     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4158     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4159     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4160     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4161     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4162     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4163     #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4164     #[cfg(not(feature = "Foundation_Collections"))] usize,
4165 );
4166 #[repr(transparent)]
4167 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4168 #[doc(hidden)]
4169 pub struct INetworkOperatorTetheringEntitlementCheck(::windows::runtime::IInspectable);
4170 unsafe impl ::windows::runtime::Interface for INetworkOperatorTetheringEntitlementCheck {
4171     type Vtable = INetworkOperatorTetheringEntitlementCheck_abi;
4172     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(17338733, 40602, 19190, [141, 163, 96, 73, 59, 25, 194, 4]);
4173 }
4174 #[repr(C)]
4175 #[doc(hidden)]
4176 pub struct INetworkOperatorTetheringEntitlementCheck_abi(
4177     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4178     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4179     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4180     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4181     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4182     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4183     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, allow: bool, entitlementfailurereason: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4184 );
4185 #[repr(transparent)]
4186 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4187 #[doc(hidden)]
4188 pub struct INetworkOperatorTetheringManager(::windows::runtime::IInspectable);
4189 unsafe impl ::windows::runtime::Interface for INetworkOperatorTetheringManager {
4190     type Vtable = INetworkOperatorTetheringManager_abi;
4191     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3562704288, 3718, 19864, [139, 164, 221, 112, 212, 183, 100, 211]);
4192 }
4193 #[repr(C)]
4194 #[doc(hidden)]
4195 pub struct INetworkOperatorTetheringManager_abi(
4196     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4197     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4198     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4199     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4200     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4201     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4202     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
4203     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
4204     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut TetheringOperationalState) -> ::windows::runtime::HRESULT,
4205     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4206     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, configuration: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4207     #[cfg(not(feature = "Foundation"))] usize,
4208     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4209     #[cfg(not(feature = "Foundation"))] usize,
4210     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4211     #[cfg(not(feature = "Foundation"))] usize,
4212 );
4213 #[repr(transparent)]
4214 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4215 #[doc(hidden)]
4216 pub struct INetworkOperatorTetheringManagerStatics(::windows::runtime::IInspectable);
4217 unsafe impl ::windows::runtime::Interface for INetworkOperatorTetheringManagerStatics {
4218     type Vtable = INetworkOperatorTetheringManagerStatics_abi;
4219     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1052555980, 63683, 16476, [153, 100, 112, 161, 238, 171, 225, 148]);
4220 }
4221 #[repr(C)]
4222 #[doc(hidden)]
4223 pub struct INetworkOperatorTetheringManagerStatics_abi(
4224     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4225     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4226     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4227     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4228     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4229     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4230     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, networkaccountid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut TetheringCapability) -> ::windows::runtime::HRESULT,
4231     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, networkaccountid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4232 );
4233 #[repr(transparent)]
4234 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4235 #[doc(hidden)]
4236 pub struct INetworkOperatorTetheringManagerStatics2(::windows::runtime::IInspectable);
4237 unsafe impl ::windows::runtime::Interface for INetworkOperatorTetheringManagerStatics2 {
4238     type Vtable = INetworkOperatorTetheringManagerStatics2_abi;
4239     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1529041938, 13808, 18919, [155, 8, 22, 210, 120, 251, 170, 66]);
4240 }
4241 #[repr(C)]
4242 #[doc(hidden)]
4243 pub struct INetworkOperatorTetheringManagerStatics2_abi(
4244     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4245     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4246     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4247     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4248     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4249     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4250     #[cfg(feature = "Networking_Connectivity")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, profile: ::windows::runtime::RawPtr, result__: *mut TetheringCapability) -> ::windows::runtime::HRESULT,
4251     #[cfg(not(feature = "Networking_Connectivity"))] usize,
4252     #[cfg(feature = "Networking_Connectivity")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, profile: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4253     #[cfg(not(feature = "Networking_Connectivity"))] usize,
4254 );
4255 #[repr(transparent)]
4256 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4257 #[doc(hidden)]
4258 pub struct INetworkOperatorTetheringManagerStatics3(::windows::runtime::IInspectable);
4259 unsafe impl ::windows::runtime::Interface for INetworkOperatorTetheringManagerStatics3 {
4260     type Vtable = INetworkOperatorTetheringManagerStatics3_abi;
4261     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2413473206, 19193, 20257, [155, 88, 213, 62, 159, 36, 35, 30]);
4262 }
4263 #[repr(C)]
4264 #[doc(hidden)]
4265 pub struct INetworkOperatorTetheringManagerStatics3_abi(
4266     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4267     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4268     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4269     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4270     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4271     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4272     #[cfg(feature = "Networking_Connectivity")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, profile: ::windows::runtime::RawPtr, adapter: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4273     #[cfg(not(feature = "Networking_Connectivity"))] usize,
4274 );
4275 #[repr(transparent)]
4276 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4277 #[doc(hidden)]
4278 pub struct INetworkOperatorTetheringManagerStatics4(::windows::runtime::IInspectable);
4279 unsafe impl ::windows::runtime::Interface for INetworkOperatorTetheringManagerStatics4 {
4280     type Vtable = INetworkOperatorTetheringManagerStatics4_abi;
4281     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3015309776, 60415, 18084, [168, 71, 214, 99, 216, 176, 151, 126]);
4282 }
4283 #[repr(C)]
4284 #[doc(hidden)]
4285 pub struct INetworkOperatorTetheringManagerStatics4_abi(
4286     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4287     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4288     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4289     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4290     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4291     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4292     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
4293     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4294     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4295     #[cfg(not(feature = "Foundation"))] usize,
4296     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4297     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4298     #[cfg(not(feature = "Foundation"))] usize,
4299 );
4300 #[repr(transparent)]
4301 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4302 #[doc(hidden)]
4303 pub struct INetworkOperatorTetheringOperationResult(::windows::runtime::IInspectable);
4304 unsafe impl ::windows::runtime::Interface for INetworkOperatorTetheringOperationResult {
4305     type Vtable = INetworkOperatorTetheringOperationResult_abi;
4306     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3956409249, 442, 18285, [180, 179, 191, 61, 18, 200, 248, 12]);
4307 }
4308 #[repr(C)]
4309 #[doc(hidden)]
4310 pub struct INetworkOperatorTetheringOperationResult_abi(
4311     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4312     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4313     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4314     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4315     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4316     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4317     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut TetheringOperationStatus) -> ::windows::runtime::HRESULT,
4318     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4319 );
4320 #[repr(transparent)]
4321 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4322 #[doc(hidden)]
4323 pub struct IProvisionFromXmlDocumentResults(::windows::runtime::IInspectable);
4324 unsafe impl ::windows::runtime::Interface for IProvisionFromXmlDocumentResults {
4325     type Vtable = IProvisionFromXmlDocumentResults_abi;
4326     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(561447136, 33283, 4575, [173, 185, 244, 206, 70, 45, 145, 55]);
4327 }
4328 #[repr(C)]
4329 #[doc(hidden)]
4330 pub struct IProvisionFromXmlDocumentResults_abi(
4331     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4332     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4333     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4334     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4335     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4336     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4337     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
4338     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4339 );
4340 #[repr(transparent)]
4341 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4342 #[doc(hidden)]
4343 pub struct IProvisionedProfile(::windows::runtime::IInspectable);
4344 unsafe impl ::windows::runtime::Interface for IProvisionedProfile {
4345     type Vtable = IProvisionedProfile_abi;
4346     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(561447136, 33282, 4575, [173, 185, 244, 206, 70, 45, 145, 55]);
4347 }
4348 #[repr(C)]
4349 #[doc(hidden)]
4350 pub struct IProvisionedProfile_abi(
4351     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4352     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4353     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4354     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4355     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4356     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4357     #[cfg(feature = "Networking_Connectivity")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: super::Connectivity::NetworkCostType) -> ::windows::runtime::HRESULT,
4358     #[cfg(not(feature = "Networking_Connectivity"))] usize,
4359     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ProfileUsage) -> ::windows::runtime::HRESULT,
4360     #[cfg(not(feature = "Foundation"))] usize,
4361 );
4362 #[repr(transparent)]
4363 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4364 #[doc(hidden)]
4365 pub struct IProvisioningAgent(::windows::runtime::IInspectable);
4366 unsafe impl ::windows::runtime::Interface for IProvisioningAgent {
4367     type Vtable = IProvisioningAgent_abi;
4368     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(561447136, 33281, 4575, [173, 185, 244, 206, 70, 45, 145, 55]);
4369 }
4370 #[repr(C)]
4371 #[doc(hidden)]
4372 pub struct IProvisioningAgent_abi(
4373     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4374     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4375     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4376     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4377     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4378     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4379     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, provisioningxmldocument: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4380     #[cfg(not(feature = "Foundation"))] usize,
4381     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, mediatype: ProfileMediaType, profilename: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4382 );
4383 #[repr(transparent)]
4384 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4385 #[doc(hidden)]
4386 pub struct IProvisioningAgentStaticMethods(::windows::runtime::IInspectable);
4387 unsafe impl ::windows::runtime::Interface for IProvisioningAgentStaticMethods {
4388     type Vtable = IProvisioningAgentStaticMethods_abi;
4389     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(561447136, 33025, 4575, [173, 185, 244, 206, 70, 45, 145, 55]);
4390 }
4391 #[repr(C)]
4392 #[doc(hidden)]
4393 pub struct IProvisioningAgentStaticMethods_abi(
4394     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4395     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4396     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4397     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4398     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4399     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4400     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, networkaccountid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4401 );
4402 #[repr(transparent)]
4403 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4404 #[doc(hidden)]
4405 pub struct ITetheringEntitlementCheckTriggerDetails(::windows::runtime::IInspectable);
4406 unsafe impl ::windows::runtime::Interface for ITetheringEntitlementCheckTriggerDetails {
4407     type Vtable = ITetheringEntitlementCheckTriggerDetails_abi;
4408     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(63331997, 22822, 16883, [169, 78, 181, 9, 38, 252, 66, 27]);
4409 }
4410 #[repr(C)]
4411 #[doc(hidden)]
4412 pub struct ITetheringEntitlementCheckTriggerDetails_abi(
4413     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4414     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4415     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4416     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4417     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4418     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4419     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4420     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4421     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, entitlementfailurereason: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4422 );
4423 #[repr(transparent)]
4424 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4425 #[doc(hidden)]
4426 pub struct IUssdMessage(::windows::runtime::IInspectable);
4427 unsafe impl ::windows::runtime::Interface for IUssdMessage {
4428     type Vtable = IUssdMessage_abi;
4429     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(798674818, 8196, 19805, [191, 129, 42, 186, 27, 75, 228, 168]);
4430 }
4431 #[repr(C)]
4432 #[doc(hidden)]
4433 pub struct IUssdMessage_abi(
4434     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4435     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4436     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4437     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4438     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4439     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4440     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u8) -> ::windows::runtime::HRESULT,
4441     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: u8) -> ::windows::runtime::HRESULT,
4442     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result_size__: *mut u32, result__: *mut *mut u8) -> ::windows::runtime::HRESULT,
4443     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value_array_size: u32, value: *const u8) -> ::windows::runtime::HRESULT,
4444     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4445     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
4446 );
4447 #[repr(transparent)]
4448 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4449 #[doc(hidden)]
4450 pub struct IUssdMessageFactory(::windows::runtime::IInspectable);
4451 unsafe impl ::windows::runtime::Interface for IUssdMessageFactory {
4452     type Vtable = IUssdMessageFactory_abi;
4453     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(798674818, 4099, 19805, [191, 129, 42, 186, 27, 75, 228, 168]);
4454 }
4455 #[repr(C)]
4456 #[doc(hidden)]
4457 pub struct IUssdMessageFactory_abi(
4458     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4459     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4460     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4461     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4462     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4463     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4464     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, messagetext: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4465 );
4466 #[repr(transparent)]
4467 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4468 #[doc(hidden)]
4469 pub struct IUssdReply(::windows::runtime::IInspectable);
4470 unsafe impl ::windows::runtime::Interface for IUssdReply {
4471     type Vtable = IUssdReply_abi;
4472     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(798674818, 8197, 19805, [191, 129, 42, 186, 27, 75, 228, 168]);
4473 }
4474 #[repr(C)]
4475 #[doc(hidden)]
4476 pub struct IUssdReply_abi(
4477     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4478     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4479     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4480     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4481     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4482     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4483     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut UssdResultCode) -> ::windows::runtime::HRESULT,
4484     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4485 );
4486 #[repr(transparent)]
4487 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4488 #[doc(hidden)]
4489 pub struct IUssdSession(::windows::runtime::IInspectable);
4490 unsafe impl ::windows::runtime::Interface for IUssdSession {
4491     type Vtable = IUssdSession_abi;
4492     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(798674818, 8194, 19805, [191, 129, 42, 186, 27, 75, 228, 168]);
4493 }
4494 #[repr(C)]
4495 #[doc(hidden)]
4496 pub struct IUssdSession_abi(
4497     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4498     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4499     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4500     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4501     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4502     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4503     #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, message: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4504     #[cfg(not(feature = "Foundation"))] usize,
4505     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4506 );
4507 #[repr(transparent)]
4508 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4509 #[doc(hidden)]
4510 pub struct IUssdSessionStatics(::windows::runtime::IInspectable);
4511 unsafe impl ::windows::runtime::Interface for IUssdSessionStatics {
4512     type Vtable = IUssdSessionStatics_abi;
4513     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(798674818, 4097, 19805, [191, 129, 42, 186, 27, 75, 228, 168]);
4514 }
4515 #[repr(C)]
4516 #[doc(hidden)]
4517 pub struct IUssdSessionStatics_abi(
4518     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4519     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4520     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
4521     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
4522     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4523     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
4524     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, networkaccountid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4525     pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, networkinterfaceid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
4526 );
4527 pub struct KnownCSimFilePaths {}
4528 impl KnownCSimFilePaths {
4529     #[cfg(feature = "Foundation_Collections")]
EFSpn() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<u32>>4530     pub fn EFSpn() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<u32>> {
4531         Self::IKnownCSimFilePathsStatics(|this| unsafe {
4532             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4533             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<u32>>(result__)
4534         })
4535     }
4536     #[cfg(feature = "Foundation_Collections")]
Gid1() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<u32>>4537     pub fn Gid1() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<u32>> {
4538         Self::IKnownCSimFilePathsStatics(|this| unsafe {
4539             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4540             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<u32>>(result__)
4541         })
4542     }
4543     #[cfg(feature = "Foundation_Collections")]
Gid2() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<u32>>4544     pub fn Gid2() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<u32>> {
4545         Self::IKnownCSimFilePathsStatics(|this| unsafe {
4546             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4547             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<u32>>(result__)
4548         })
4549     }
IKnownCSimFilePathsStatics<R, F: FnOnce(&IKnownCSimFilePathsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4550     pub fn IKnownCSimFilePathsStatics<R, F: FnOnce(&IKnownCSimFilePathsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4551         static mut SHARED: ::windows::runtime::FactoryCache<KnownCSimFilePaths, IKnownCSimFilePathsStatics> = ::windows::runtime::FactoryCache::new();
4552         unsafe { SHARED.call(callback) }
4553     }
4554 }
4555 impl ::windows::runtime::RuntimeName for KnownCSimFilePaths {
4556     const NAME: &'static str = "Windows.Networking.NetworkOperators.KnownCSimFilePaths";
4557 }
4558 pub struct KnownRuimFilePaths {}
4559 impl KnownRuimFilePaths {
4560     #[cfg(feature = "Foundation_Collections")]
EFSpn() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<u32>>4561     pub fn EFSpn() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<u32>> {
4562         Self::IKnownRuimFilePathsStatics(|this| unsafe {
4563             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4564             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<u32>>(result__)
4565         })
4566     }
4567     #[cfg(feature = "Foundation_Collections")]
Gid1() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<u32>>4568     pub fn Gid1() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<u32>> {
4569         Self::IKnownRuimFilePathsStatics(|this| unsafe {
4570             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4571             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<u32>>(result__)
4572         })
4573     }
4574     #[cfg(feature = "Foundation_Collections")]
Gid2() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<u32>>4575     pub fn Gid2() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<u32>> {
4576         Self::IKnownRuimFilePathsStatics(|this| unsafe {
4577             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4578             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<u32>>(result__)
4579         })
4580     }
IKnownRuimFilePathsStatics<R, F: FnOnce(&IKnownRuimFilePathsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4581     pub fn IKnownRuimFilePathsStatics<R, F: FnOnce(&IKnownRuimFilePathsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4582         static mut SHARED: ::windows::runtime::FactoryCache<KnownRuimFilePaths, IKnownRuimFilePathsStatics> = ::windows::runtime::FactoryCache::new();
4583         unsafe { SHARED.call(callback) }
4584     }
4585 }
4586 impl ::windows::runtime::RuntimeName for KnownRuimFilePaths {
4587     const NAME: &'static str = "Windows.Networking.NetworkOperators.KnownRuimFilePaths";
4588 }
4589 pub struct KnownSimFilePaths {}
4590 impl KnownSimFilePaths {
4591     #[cfg(feature = "Foundation_Collections")]
EFOns() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<u32>>4592     pub fn EFOns() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<u32>> {
4593         Self::IKnownSimFilePathsStatics(|this| unsafe {
4594             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4595             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<u32>>(result__)
4596         })
4597     }
4598     #[cfg(feature = "Foundation_Collections")]
EFSpn() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<u32>>4599     pub fn EFSpn() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<u32>> {
4600         Self::IKnownSimFilePathsStatics(|this| unsafe {
4601             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4602             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<u32>>(result__)
4603         })
4604     }
4605     #[cfg(feature = "Foundation_Collections")]
Gid1() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<u32>>4606     pub fn Gid1() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<u32>> {
4607         Self::IKnownSimFilePathsStatics(|this| unsafe {
4608             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4609             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<u32>>(result__)
4610         })
4611     }
4612     #[cfg(feature = "Foundation_Collections")]
Gid2() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<u32>>4613     pub fn Gid2() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<u32>> {
4614         Self::IKnownSimFilePathsStatics(|this| unsafe {
4615             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4616             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<u32>>(result__)
4617         })
4618     }
IKnownSimFilePathsStatics<R, F: FnOnce(&IKnownSimFilePathsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4619     pub fn IKnownSimFilePathsStatics<R, F: FnOnce(&IKnownSimFilePathsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4620         static mut SHARED: ::windows::runtime::FactoryCache<KnownSimFilePaths, IKnownSimFilePathsStatics> = ::windows::runtime::FactoryCache::new();
4621         unsafe { SHARED.call(callback) }
4622     }
4623 }
4624 impl ::windows::runtime::RuntimeName for KnownSimFilePaths {
4625     const NAME: &'static str = "Windows.Networking.NetworkOperators.KnownSimFilePaths";
4626 }
4627 pub struct KnownUSimFilePaths {}
4628 impl KnownUSimFilePaths {
4629     #[cfg(feature = "Foundation_Collections")]
EFSpn() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<u32>>4630     pub fn EFSpn() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<u32>> {
4631         Self::IKnownUSimFilePathsStatics(|this| unsafe {
4632             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4633             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<u32>>(result__)
4634         })
4635     }
4636     #[cfg(feature = "Foundation_Collections")]
EFOpl() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<u32>>4637     pub fn EFOpl() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<u32>> {
4638         Self::IKnownUSimFilePathsStatics(|this| unsafe {
4639             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4640             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<u32>>(result__)
4641         })
4642     }
4643     #[cfg(feature = "Foundation_Collections")]
EFPnn() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<u32>>4644     pub fn EFPnn() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<u32>> {
4645         Self::IKnownUSimFilePathsStatics(|this| unsafe {
4646             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4647             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<u32>>(result__)
4648         })
4649     }
4650     #[cfg(feature = "Foundation_Collections")]
Gid1() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<u32>>4651     pub fn Gid1() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<u32>> {
4652         Self::IKnownUSimFilePathsStatics(|this| unsafe {
4653             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4654             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<u32>>(result__)
4655         })
4656     }
4657     #[cfg(feature = "Foundation_Collections")]
Gid2() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<u32>>4658     pub fn Gid2() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<u32>> {
4659         Self::IKnownUSimFilePathsStatics(|this| unsafe {
4660             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4661             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<u32>>(result__)
4662         })
4663     }
IKnownUSimFilePathsStatics<R, F: FnOnce(&IKnownUSimFilePathsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4664     pub fn IKnownUSimFilePathsStatics<R, F: FnOnce(&IKnownUSimFilePathsStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4665         static mut SHARED: ::windows::runtime::FactoryCache<KnownUSimFilePaths, IKnownUSimFilePathsStatics> = ::windows::runtime::FactoryCache::new();
4666         unsafe { SHARED.call(callback) }
4667     }
4668 }
4669 impl ::windows::runtime::RuntimeName for KnownUSimFilePaths {
4670     const NAME: &'static str = "Windows.Networking.NetworkOperators.KnownUSimFilePaths";
4671 }
4672 #[repr(C)]
4673 #[derive(:: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug, :: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy)]
4674 pub struct LegacyNetworkOperatorsContract(pub u8);
4675 #[repr(transparent)]
4676 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4677 pub struct MobileBroadbandAccount(::windows::runtime::IInspectable);
4678 impl MobileBroadbandAccount {
NetworkAccountId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>4679     pub fn NetworkAccountId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
4680         let this = self;
4681         unsafe {
4682             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
4683             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
4684         }
4685     }
ServiceProviderGuid(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>4686     pub fn ServiceProviderGuid(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
4687         let this = self;
4688         unsafe {
4689             let mut result__: ::windows::runtime::GUID = ::std::mem::zeroed();
4690             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
4691         }
4692     }
ServiceProviderName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>4693     pub fn ServiceProviderName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
4694         let this = self;
4695         unsafe {
4696             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
4697             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
4698         }
4699     }
CurrentNetwork(&self) -> ::windows::runtime::Result<MobileBroadbandNetwork>4700     pub fn CurrentNetwork(&self) -> ::windows::runtime::Result<MobileBroadbandNetwork> {
4701         let this = self;
4702         unsafe {
4703             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4704             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MobileBroadbandNetwork>(result__)
4705         }
4706     }
CurrentDeviceInformation(&self) -> ::windows::runtime::Result<MobileBroadbandDeviceInformation>4707     pub fn CurrentDeviceInformation(&self) -> ::windows::runtime::Result<MobileBroadbandDeviceInformation> {
4708         let this = self;
4709         unsafe {
4710             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4711             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MobileBroadbandDeviceInformation>(result__)
4712         }
4713     }
4714     #[cfg(all(feature = "Foundation_Collections", feature = "Networking_Connectivity"))]
GetConnectionProfiles(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<super::Connectivity::ConnectionProfile>>4715     pub fn GetConnectionProfiles(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<super::Connectivity::ConnectionProfile>> {
4716         let this = &::windows::runtime::Interface::cast::<IMobileBroadbandAccount2>(self)?;
4717         unsafe {
4718             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4719             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<super::Connectivity::ConnectionProfile>>(result__)
4720         }
4721     }
4722     #[cfg(feature = "Foundation_Collections")]
AvailableNetworkAccountIds() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<::windows::runtime::HSTRING>>4723     pub fn AvailableNetworkAccountIds() -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<::windows::runtime::HSTRING>> {
4724         Self::IMobileBroadbandAccountStatics(|this| unsafe {
4725             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4726             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<::windows::runtime::HSTRING>>(result__)
4727         })
4728     }
CreateFromNetworkAccountId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(networkaccountid: Param0) -> ::windows::runtime::Result<MobileBroadbandAccount>4729     pub fn CreateFromNetworkAccountId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(networkaccountid: Param0) -> ::windows::runtime::Result<MobileBroadbandAccount> {
4730         Self::IMobileBroadbandAccountStatics(|this| unsafe {
4731             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4732             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), networkaccountid.into_param().abi(), &mut result__).from_abi::<MobileBroadbandAccount>(result__)
4733         })
4734     }
4735     #[cfg(feature = "Foundation")]
AccountExperienceUrl(&self) -> ::windows::runtime::Result<super::super::Foundation::Uri>4736     pub fn AccountExperienceUrl(&self) -> ::windows::runtime::Result<super::super::Foundation::Uri> {
4737         let this = &::windows::runtime::Interface::cast::<IMobileBroadbandAccount3>(self)?;
4738         unsafe {
4739             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
4740             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Uri>(result__)
4741         }
4742     }
IMobileBroadbandAccountStatics<R, F: FnOnce(&IMobileBroadbandAccountStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4743     pub fn IMobileBroadbandAccountStatics<R, F: FnOnce(&IMobileBroadbandAccountStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4744         static mut SHARED: ::windows::runtime::FactoryCache<MobileBroadbandAccount, IMobileBroadbandAccountStatics> = ::windows::runtime::FactoryCache::new();
4745         unsafe { SHARED.call(callback) }
4746     }
4747 }
4748 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandAccount {
4749     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandAccount;{36c24ccd-cee2-43e0-a603-ee86a36d6570})");
4750 }
4751 unsafe impl ::windows::runtime::Interface for MobileBroadbandAccount {
4752     type Vtable = IMobileBroadbandAccount_abi;
4753     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(918703309, 52962, 17376, [166, 3, 238, 134, 163, 109, 101, 112]);
4754 }
4755 impl ::windows::runtime::RuntimeName for MobileBroadbandAccount {
4756     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandAccount";
4757 }
4758 impl ::std::convert::From<MobileBroadbandAccount> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandAccount) -> Self4759     fn from(value: MobileBroadbandAccount) -> Self {
4760         unsafe { ::std::mem::transmute(value) }
4761     }
4762 }
4763 impl ::std::convert::From<&MobileBroadbandAccount> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandAccount) -> Self4764     fn from(value: &MobileBroadbandAccount) -> Self {
4765         ::std::convert::From::from(::std::clone::Clone::clone(value))
4766     }
4767 }
4768 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandAccount {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4769     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4770         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4771     }
4772 }
4773 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandAccount {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4774     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4775         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4776     }
4777 }
4778 impl ::std::convert::From<MobileBroadbandAccount> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandAccount) -> Self4779     fn from(value: MobileBroadbandAccount) -> Self {
4780         value.0
4781     }
4782 }
4783 impl ::std::convert::From<&MobileBroadbandAccount> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandAccount) -> Self4784     fn from(value: &MobileBroadbandAccount) -> Self {
4785         value.0.clone()
4786     }
4787 }
4788 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandAccount {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4789     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4790         ::windows::runtime::Param::Owned(self.0)
4791     }
4792 }
4793 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandAccount {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4794     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4795         ::windows::runtime::Param::Borrowed(&self.0)
4796     }
4797 }
4798 #[repr(transparent)]
4799 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4800 pub struct MobileBroadbandAccountEventArgs(::windows::runtime::IInspectable);
4801 impl MobileBroadbandAccountEventArgs {
NetworkAccountId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>4802     pub fn NetworkAccountId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
4803         let this = self;
4804         unsafe {
4805             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
4806             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
4807         }
4808     }
4809 }
4810 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandAccountEventArgs {
4811     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandAccountEventArgs;{3853c880-77de-4c04-bead-a123b08c9f59})");
4812 }
4813 unsafe impl ::windows::runtime::Interface for MobileBroadbandAccountEventArgs {
4814     type Vtable = IMobileBroadbandAccountEventArgs_abi;
4815     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(945014912, 30686, 19460, [190, 173, 161, 35, 176, 140, 159, 89]);
4816 }
4817 impl ::windows::runtime::RuntimeName for MobileBroadbandAccountEventArgs {
4818     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandAccountEventArgs";
4819 }
4820 impl ::std::convert::From<MobileBroadbandAccountEventArgs> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandAccountEventArgs) -> Self4821     fn from(value: MobileBroadbandAccountEventArgs) -> Self {
4822         unsafe { ::std::mem::transmute(value) }
4823     }
4824 }
4825 impl ::std::convert::From<&MobileBroadbandAccountEventArgs> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandAccountEventArgs) -> Self4826     fn from(value: &MobileBroadbandAccountEventArgs) -> Self {
4827         ::std::convert::From::from(::std::clone::Clone::clone(value))
4828     }
4829 }
4830 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandAccountEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4831     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4832         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4833     }
4834 }
4835 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandAccountEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4836     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4837         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4838     }
4839 }
4840 impl ::std::convert::From<MobileBroadbandAccountEventArgs> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandAccountEventArgs) -> Self4841     fn from(value: MobileBroadbandAccountEventArgs) -> Self {
4842         value.0
4843     }
4844 }
4845 impl ::std::convert::From<&MobileBroadbandAccountEventArgs> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandAccountEventArgs) -> Self4846     fn from(value: &MobileBroadbandAccountEventArgs) -> Self {
4847         value.0.clone()
4848     }
4849 }
4850 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandAccountEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4851     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4852         ::windows::runtime::Param::Owned(self.0)
4853     }
4854 }
4855 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandAccountEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4856     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4857         ::windows::runtime::Param::Borrowed(&self.0)
4858     }
4859 }
4860 #[repr(transparent)]
4861 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4862 pub struct MobileBroadbandAccountUpdatedEventArgs(::windows::runtime::IInspectable);
4863 impl MobileBroadbandAccountUpdatedEventArgs {
NetworkAccountId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>4864     pub fn NetworkAccountId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
4865         let this = self;
4866         unsafe {
4867             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
4868             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
4869         }
4870     }
HasDeviceInformationChanged(&self) -> ::windows::runtime::Result<bool>4871     pub fn HasDeviceInformationChanged(&self) -> ::windows::runtime::Result<bool> {
4872         let this = self;
4873         unsafe {
4874             let mut result__: bool = ::std::mem::zeroed();
4875             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4876         }
4877     }
HasNetworkChanged(&self) -> ::windows::runtime::Result<bool>4878     pub fn HasNetworkChanged(&self) -> ::windows::runtime::Result<bool> {
4879         let this = self;
4880         unsafe {
4881             let mut result__: bool = ::std::mem::zeroed();
4882             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
4883         }
4884     }
4885 }
4886 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandAccountUpdatedEventArgs {
4887     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandAccountUpdatedEventArgs;{7bc31d88-a6bd-49e1-80ab-6b91354a57d4})");
4888 }
4889 unsafe impl ::windows::runtime::Interface for MobileBroadbandAccountUpdatedEventArgs {
4890     type Vtable = IMobileBroadbandAccountUpdatedEventArgs_abi;
4891     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2076384648, 42685, 18913, [128, 171, 107, 145, 53, 74, 87, 212]);
4892 }
4893 impl ::windows::runtime::RuntimeName for MobileBroadbandAccountUpdatedEventArgs {
4894     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandAccountUpdatedEventArgs";
4895 }
4896 impl ::std::convert::From<MobileBroadbandAccountUpdatedEventArgs> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandAccountUpdatedEventArgs) -> Self4897     fn from(value: MobileBroadbandAccountUpdatedEventArgs) -> Self {
4898         unsafe { ::std::mem::transmute(value) }
4899     }
4900 }
4901 impl ::std::convert::From<&MobileBroadbandAccountUpdatedEventArgs> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandAccountUpdatedEventArgs) -> Self4902     fn from(value: &MobileBroadbandAccountUpdatedEventArgs) -> Self {
4903         ::std::convert::From::from(::std::clone::Clone::clone(value))
4904     }
4905 }
4906 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandAccountUpdatedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4907     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4908         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
4909     }
4910 }
4911 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandAccountUpdatedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>4912     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
4913         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
4914     }
4915 }
4916 impl ::std::convert::From<MobileBroadbandAccountUpdatedEventArgs> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandAccountUpdatedEventArgs) -> Self4917     fn from(value: MobileBroadbandAccountUpdatedEventArgs) -> Self {
4918         value.0
4919     }
4920 }
4921 impl ::std::convert::From<&MobileBroadbandAccountUpdatedEventArgs> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandAccountUpdatedEventArgs) -> Self4922     fn from(value: &MobileBroadbandAccountUpdatedEventArgs) -> Self {
4923         value.0.clone()
4924     }
4925 }
4926 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandAccountUpdatedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4927     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4928         ::windows::runtime::Param::Owned(self.0)
4929     }
4930 }
4931 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandAccountUpdatedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>4932     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
4933         ::windows::runtime::Param::Borrowed(&self.0)
4934     }
4935 }
4936 #[repr(transparent)]
4937 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
4938 pub struct MobileBroadbandAccountWatcher(::windows::runtime::IInspectable);
4939 impl MobileBroadbandAccountWatcher {
new() -> ::windows::runtime::Result<Self>4940     pub fn new() -> ::windows::runtime::Result<Self> {
4941         Self::IActivationFactory(|f| f.activate_instance::<Self>())
4942     }
IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>4943     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
4944         static mut SHARED: ::windows::runtime::FactoryCache<MobileBroadbandAccountWatcher, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
4945         unsafe { SHARED.call(callback) }
4946     }
4947     #[cfg(feature = "Foundation")]
AccountAdded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MobileBroadbandAccountWatcher, MobileBroadbandAccountEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4948     pub fn AccountAdded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MobileBroadbandAccountWatcher, MobileBroadbandAccountEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4949         let this = self;
4950         unsafe {
4951             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4952             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4953         }
4954     }
4955     #[cfg(feature = "Foundation")]
RemoveAccountAdded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, cookie: Param0) -> ::windows::runtime::Result<()>4956     pub fn RemoveAccountAdded<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, cookie: Param0) -> ::windows::runtime::Result<()> {
4957         let this = self;
4958         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), cookie.into_param().abi()).ok() }
4959     }
4960     #[cfg(feature = "Foundation")]
AccountUpdated<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MobileBroadbandAccountWatcher, MobileBroadbandAccountUpdatedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4961     pub fn AccountUpdated<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MobileBroadbandAccountWatcher, MobileBroadbandAccountUpdatedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4962         let this = self;
4963         unsafe {
4964             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4965             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4966         }
4967     }
4968     #[cfg(feature = "Foundation")]
RemoveAccountUpdated<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, cookie: Param0) -> ::windows::runtime::Result<()>4969     pub fn RemoveAccountUpdated<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, cookie: Param0) -> ::windows::runtime::Result<()> {
4970         let this = self;
4971         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), cookie.into_param().abi()).ok() }
4972     }
4973     #[cfg(feature = "Foundation")]
AccountRemoved<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MobileBroadbandAccountWatcher, MobileBroadbandAccountEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4974     pub fn AccountRemoved<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MobileBroadbandAccountWatcher, MobileBroadbandAccountEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4975         let this = self;
4976         unsafe {
4977             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4978             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4979         }
4980     }
4981     #[cfg(feature = "Foundation")]
RemoveAccountRemoved<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, cookie: Param0) -> ::windows::runtime::Result<()>4982     pub fn RemoveAccountRemoved<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, cookie: Param0) -> ::windows::runtime::Result<()> {
4983         let this = self;
4984         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), cookie.into_param().abi()).ok() }
4985     }
4986     #[cfg(feature = "Foundation")]
EnumerationCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MobileBroadbandAccountWatcher, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>4987     pub fn EnumerationCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MobileBroadbandAccountWatcher, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
4988         let this = self;
4989         unsafe {
4990             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
4991             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
4992         }
4993     }
4994     #[cfg(feature = "Foundation")]
RemoveEnumerationCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, cookie: Param0) -> ::windows::runtime::Result<()>4995     pub fn RemoveEnumerationCompleted<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, cookie: Param0) -> ::windows::runtime::Result<()> {
4996         let this = self;
4997         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), cookie.into_param().abi()).ok() }
4998     }
4999     #[cfg(feature = "Foundation")]
Stopped<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MobileBroadbandAccountWatcher, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>5000     pub fn Stopped<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MobileBroadbandAccountWatcher, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
5001         let this = self;
5002         unsafe {
5003             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
5004             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
5005         }
5006     }
5007     #[cfg(feature = "Foundation")]
RemoveStopped<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, cookie: Param0) -> ::windows::runtime::Result<()>5008     pub fn RemoveStopped<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, cookie: Param0) -> ::windows::runtime::Result<()> {
5009         let this = self;
5010         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), cookie.into_param().abi()).ok() }
5011     }
Status(&self) -> ::windows::runtime::Result<MobileBroadbandAccountWatcherStatus>5012     pub fn Status(&self) -> ::windows::runtime::Result<MobileBroadbandAccountWatcherStatus> {
5013         let this = self;
5014         unsafe {
5015             let mut result__: MobileBroadbandAccountWatcherStatus = ::std::mem::zeroed();
5016             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MobileBroadbandAccountWatcherStatus>(result__)
5017         }
5018     }
Start(&self) -> ::windows::runtime::Result<()>5019     pub fn Start(&self) -> ::windows::runtime::Result<()> {
5020         let this = self;
5021         unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this)).ok() }
5022     }
Stop(&self) -> ::windows::runtime::Result<()>5023     pub fn Stop(&self) -> ::windows::runtime::Result<()> {
5024         let this = self;
5025         unsafe { (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this)).ok() }
5026     }
5027 }
5028 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandAccountWatcher {
5029     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandAccountWatcher;{6bf3335e-23b5-449f-928d-5e0d3e04471d})");
5030 }
5031 unsafe impl ::windows::runtime::Interface for MobileBroadbandAccountWatcher {
5032     type Vtable = IMobileBroadbandAccountWatcher_abi;
5033     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1811100510, 9141, 17567, [146, 141, 94, 13, 62, 4, 71, 29]);
5034 }
5035 impl ::windows::runtime::RuntimeName for MobileBroadbandAccountWatcher {
5036     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandAccountWatcher";
5037 }
5038 impl ::std::convert::From<MobileBroadbandAccountWatcher> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandAccountWatcher) -> Self5039     fn from(value: MobileBroadbandAccountWatcher) -> Self {
5040         unsafe { ::std::mem::transmute(value) }
5041     }
5042 }
5043 impl ::std::convert::From<&MobileBroadbandAccountWatcher> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandAccountWatcher) -> Self5044     fn from(value: &MobileBroadbandAccountWatcher) -> Self {
5045         ::std::convert::From::from(::std::clone::Clone::clone(value))
5046     }
5047 }
5048 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandAccountWatcher {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5049     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5050         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5051     }
5052 }
5053 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandAccountWatcher {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5054     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5055         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5056     }
5057 }
5058 impl ::std::convert::From<MobileBroadbandAccountWatcher> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandAccountWatcher) -> Self5059     fn from(value: MobileBroadbandAccountWatcher) -> Self {
5060         value.0
5061     }
5062 }
5063 impl ::std::convert::From<&MobileBroadbandAccountWatcher> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandAccountWatcher) -> Self5064     fn from(value: &MobileBroadbandAccountWatcher) -> Self {
5065         value.0.clone()
5066     }
5067 }
5068 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandAccountWatcher {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5069     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5070         ::windows::runtime::Param::Owned(self.0)
5071     }
5072 }
5073 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandAccountWatcher {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5074     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5075         ::windows::runtime::Param::Borrowed(&self.0)
5076     }
5077 }
5078 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
5079 #[repr(transparent)]
5080 pub struct MobileBroadbandAccountWatcherStatus(pub i32);
5081 impl MobileBroadbandAccountWatcherStatus {
5082     pub const Created: MobileBroadbandAccountWatcherStatus = MobileBroadbandAccountWatcherStatus(0i32);
5083     pub const Started: MobileBroadbandAccountWatcherStatus = MobileBroadbandAccountWatcherStatus(1i32);
5084     pub const EnumerationCompleted: MobileBroadbandAccountWatcherStatus = MobileBroadbandAccountWatcherStatus(2i32);
5085     pub const Stopped: MobileBroadbandAccountWatcherStatus = MobileBroadbandAccountWatcherStatus(3i32);
5086     pub const Aborted: MobileBroadbandAccountWatcherStatus = MobileBroadbandAccountWatcherStatus(4i32);
5087 }
5088 impl ::std::convert::From<i32> for MobileBroadbandAccountWatcherStatus {
from(value: i32) -> Self5089     fn from(value: i32) -> Self {
5090         Self(value)
5091     }
5092 }
5093 unsafe impl ::windows::runtime::Abi for MobileBroadbandAccountWatcherStatus {
5094     type Abi = Self;
5095     type DefaultType = Self;
5096 }
5097 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandAccountWatcherStatus {
5098     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Networking.NetworkOperators.MobileBroadbandAccountWatcherStatus;i4)");
5099 }
5100 #[repr(transparent)]
5101 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5102 pub struct MobileBroadbandAntennaSar(::windows::runtime::IInspectable);
5103 impl MobileBroadbandAntennaSar {
AntennaIndex(&self) -> ::windows::runtime::Result<i32>5104     pub fn AntennaIndex(&self) -> ::windows::runtime::Result<i32> {
5105         let this = self;
5106         unsafe {
5107             let mut result__: i32 = ::std::mem::zeroed();
5108             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
5109         }
5110     }
SarBackoffIndex(&self) -> ::windows::runtime::Result<i32>5111     pub fn SarBackoffIndex(&self) -> ::windows::runtime::Result<i32> {
5112         let this = self;
5113         unsafe {
5114             let mut result__: i32 = ::std::mem::zeroed();
5115             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
5116         }
5117     }
CreateWithIndex(antennaindex: i32, sarbackoffindex: i32) -> ::windows::runtime::Result<MobileBroadbandAntennaSar>5118     pub fn CreateWithIndex(antennaindex: i32, sarbackoffindex: i32) -> ::windows::runtime::Result<MobileBroadbandAntennaSar> {
5119         Self::IMobileBroadbandAntennaSarFactory(|this| unsafe {
5120             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5121             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), antennaindex, sarbackoffindex, &mut result__).from_abi::<MobileBroadbandAntennaSar>(result__)
5122         })
5123     }
IMobileBroadbandAntennaSarFactory<R, F: FnOnce(&IMobileBroadbandAntennaSarFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>5124     pub fn IMobileBroadbandAntennaSarFactory<R, F: FnOnce(&IMobileBroadbandAntennaSarFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
5125         static mut SHARED: ::windows::runtime::FactoryCache<MobileBroadbandAntennaSar, IMobileBroadbandAntennaSarFactory> = ::windows::runtime::FactoryCache::new();
5126         unsafe { SHARED.call(callback) }
5127     }
5128 }
5129 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandAntennaSar {
5130     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandAntennaSar;{b9af4b7e-cbf9-4109-90be-5c06bfd513b6})");
5131 }
5132 unsafe impl ::windows::runtime::Interface for MobileBroadbandAntennaSar {
5133     type Vtable = IMobileBroadbandAntennaSar_abi;
5134     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3115273086, 52217, 16649, [144, 190, 92, 6, 191, 213, 19, 182]);
5135 }
5136 impl ::windows::runtime::RuntimeName for MobileBroadbandAntennaSar {
5137     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandAntennaSar";
5138 }
5139 impl ::std::convert::From<MobileBroadbandAntennaSar> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandAntennaSar) -> Self5140     fn from(value: MobileBroadbandAntennaSar) -> Self {
5141         unsafe { ::std::mem::transmute(value) }
5142     }
5143 }
5144 impl ::std::convert::From<&MobileBroadbandAntennaSar> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandAntennaSar) -> Self5145     fn from(value: &MobileBroadbandAntennaSar) -> Self {
5146         ::std::convert::From::from(::std::clone::Clone::clone(value))
5147     }
5148 }
5149 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandAntennaSar {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5150     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5151         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5152     }
5153 }
5154 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandAntennaSar {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5155     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5156         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5157     }
5158 }
5159 impl ::std::convert::From<MobileBroadbandAntennaSar> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandAntennaSar) -> Self5160     fn from(value: MobileBroadbandAntennaSar) -> Self {
5161         value.0
5162     }
5163 }
5164 impl ::std::convert::From<&MobileBroadbandAntennaSar> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandAntennaSar) -> Self5165     fn from(value: &MobileBroadbandAntennaSar) -> Self {
5166         value.0.clone()
5167     }
5168 }
5169 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandAntennaSar {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5170     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5171         ::windows::runtime::Param::Owned(self.0)
5172     }
5173 }
5174 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandAntennaSar {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5175     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5176         ::windows::runtime::Param::Borrowed(&self.0)
5177     }
5178 }
5179 unsafe impl ::std::marker::Send for MobileBroadbandAntennaSar {}
5180 unsafe impl ::std::marker::Sync for MobileBroadbandAntennaSar {}
5181 #[repr(transparent)]
5182 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5183 pub struct MobileBroadbandCellCdma(::windows::runtime::IInspectable);
5184 impl MobileBroadbandCellCdma {
5185     #[cfg(feature = "Foundation")]
BaseStationId(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>>5186     pub fn BaseStationId(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>> {
5187         let this = self;
5188         unsafe {
5189             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5190             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<i32>>(result__)
5191         }
5192     }
5193     #[cfg(feature = "Foundation")]
BaseStationPNCode(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>>5194     pub fn BaseStationPNCode(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>> {
5195         let this = self;
5196         unsafe {
5197             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5198             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<i32>>(result__)
5199         }
5200     }
5201     #[cfg(feature = "Foundation")]
BaseStationLatitude(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>>5202     pub fn BaseStationLatitude(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>> {
5203         let this = self;
5204         unsafe {
5205             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5206             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<f64>>(result__)
5207         }
5208     }
5209     #[cfg(feature = "Foundation")]
BaseStationLongitude(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>>5210     pub fn BaseStationLongitude(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>> {
5211         let this = self;
5212         unsafe {
5213             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5214             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<f64>>(result__)
5215         }
5216     }
5217     #[cfg(feature = "Foundation")]
BaseStationLastBroadcastGpsTime(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::TimeSpan>>5218     pub fn BaseStationLastBroadcastGpsTime(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::TimeSpan>> {
5219         let this = self;
5220         unsafe {
5221             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5222             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<super::super::Foundation::TimeSpan>>(result__)
5223         }
5224     }
5225     #[cfg(feature = "Foundation")]
NetworkId(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>>5226     pub fn NetworkId(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>> {
5227         let this = self;
5228         unsafe {
5229             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5230             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<i32>>(result__)
5231         }
5232     }
5233     #[cfg(feature = "Foundation")]
PilotSignalStrengthInDB(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>>5234     pub fn PilotSignalStrengthInDB(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>> {
5235         let this = self;
5236         unsafe {
5237             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5238             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<f64>>(result__)
5239         }
5240     }
5241     #[cfg(feature = "Foundation")]
SystemId(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>>5242     pub fn SystemId(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>> {
5243         let this = self;
5244         unsafe {
5245             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5246             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<i32>>(result__)
5247         }
5248     }
5249 }
5250 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandCellCdma {
5251     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandCellCdma;{0601b3b4-411a-4f2e-8287-76f5650c60cd})");
5252 }
5253 unsafe impl ::windows::runtime::Interface for MobileBroadbandCellCdma {
5254     type Vtable = IMobileBroadbandCellCdma_abi;
5255     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(100774836, 16666, 20270, [130, 135, 118, 245, 101, 12, 96, 205]);
5256 }
5257 impl ::windows::runtime::RuntimeName for MobileBroadbandCellCdma {
5258     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandCellCdma";
5259 }
5260 impl ::std::convert::From<MobileBroadbandCellCdma> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandCellCdma) -> Self5261     fn from(value: MobileBroadbandCellCdma) -> Self {
5262         unsafe { ::std::mem::transmute(value) }
5263     }
5264 }
5265 impl ::std::convert::From<&MobileBroadbandCellCdma> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandCellCdma) -> Self5266     fn from(value: &MobileBroadbandCellCdma) -> Self {
5267         ::std::convert::From::from(::std::clone::Clone::clone(value))
5268     }
5269 }
5270 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandCellCdma {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5271     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5272         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5273     }
5274 }
5275 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandCellCdma {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5276     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5277         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5278     }
5279 }
5280 impl ::std::convert::From<MobileBroadbandCellCdma> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandCellCdma) -> Self5281     fn from(value: MobileBroadbandCellCdma) -> Self {
5282         value.0
5283     }
5284 }
5285 impl ::std::convert::From<&MobileBroadbandCellCdma> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandCellCdma) -> Self5286     fn from(value: &MobileBroadbandCellCdma) -> Self {
5287         value.0.clone()
5288     }
5289 }
5290 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandCellCdma {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5291     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5292         ::windows::runtime::Param::Owned(self.0)
5293     }
5294 }
5295 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandCellCdma {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5296     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5297         ::windows::runtime::Param::Borrowed(&self.0)
5298     }
5299 }
5300 unsafe impl ::std::marker::Send for MobileBroadbandCellCdma {}
5301 unsafe impl ::std::marker::Sync for MobileBroadbandCellCdma {}
5302 #[repr(transparent)]
5303 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5304 pub struct MobileBroadbandCellGsm(::windows::runtime::IInspectable);
5305 impl MobileBroadbandCellGsm {
5306     #[cfg(feature = "Foundation")]
BaseStationId(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>>5307     pub fn BaseStationId(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>> {
5308         let this = self;
5309         unsafe {
5310             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5311             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<i32>>(result__)
5312         }
5313     }
5314     #[cfg(feature = "Foundation")]
CellId(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>>5315     pub fn CellId(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>> {
5316         let this = self;
5317         unsafe {
5318             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5319             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<i32>>(result__)
5320         }
5321     }
5322     #[cfg(feature = "Foundation")]
ChannelNumber(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>>5323     pub fn ChannelNumber(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>> {
5324         let this = self;
5325         unsafe {
5326             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5327             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<i32>>(result__)
5328         }
5329     }
5330     #[cfg(feature = "Foundation")]
LocationAreaCode(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>>5331     pub fn LocationAreaCode(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>> {
5332         let this = self;
5333         unsafe {
5334             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5335             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<i32>>(result__)
5336         }
5337     }
ProviderId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>5338     pub fn ProviderId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
5339         let this = self;
5340         unsafe {
5341             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
5342             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
5343         }
5344     }
5345     #[cfg(feature = "Foundation")]
ReceivedSignalStrengthInDBm(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>>5346     pub fn ReceivedSignalStrengthInDBm(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>> {
5347         let this = self;
5348         unsafe {
5349             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5350             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<f64>>(result__)
5351         }
5352     }
5353     #[cfg(feature = "Foundation")]
TimingAdvanceInBitPeriods(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>>5354     pub fn TimingAdvanceInBitPeriods(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>> {
5355         let this = self;
5356         unsafe {
5357             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5358             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<i32>>(result__)
5359         }
5360     }
5361 }
5362 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandCellGsm {
5363     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandCellGsm;{cc917f06-7ee0-47b8-9e1f-c3b48df9df5b})");
5364 }
5365 unsafe impl ::windows::runtime::Interface for MobileBroadbandCellGsm {
5366     type Vtable = IMobileBroadbandCellGsm_abi;
5367     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3432087302, 32480, 18360, [158, 31, 195, 180, 141, 249, 223, 91]);
5368 }
5369 impl ::windows::runtime::RuntimeName for MobileBroadbandCellGsm {
5370     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandCellGsm";
5371 }
5372 impl ::std::convert::From<MobileBroadbandCellGsm> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandCellGsm) -> Self5373     fn from(value: MobileBroadbandCellGsm) -> Self {
5374         unsafe { ::std::mem::transmute(value) }
5375     }
5376 }
5377 impl ::std::convert::From<&MobileBroadbandCellGsm> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandCellGsm) -> Self5378     fn from(value: &MobileBroadbandCellGsm) -> Self {
5379         ::std::convert::From::from(::std::clone::Clone::clone(value))
5380     }
5381 }
5382 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandCellGsm {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5383     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5384         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5385     }
5386 }
5387 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandCellGsm {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5388     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5389         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5390     }
5391 }
5392 impl ::std::convert::From<MobileBroadbandCellGsm> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandCellGsm) -> Self5393     fn from(value: MobileBroadbandCellGsm) -> Self {
5394         value.0
5395     }
5396 }
5397 impl ::std::convert::From<&MobileBroadbandCellGsm> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandCellGsm) -> Self5398     fn from(value: &MobileBroadbandCellGsm) -> Self {
5399         value.0.clone()
5400     }
5401 }
5402 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandCellGsm {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5403     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5404         ::windows::runtime::Param::Owned(self.0)
5405     }
5406 }
5407 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandCellGsm {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5408     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5409         ::windows::runtime::Param::Borrowed(&self.0)
5410     }
5411 }
5412 unsafe impl ::std::marker::Send for MobileBroadbandCellGsm {}
5413 unsafe impl ::std::marker::Sync for MobileBroadbandCellGsm {}
5414 #[repr(transparent)]
5415 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5416 pub struct MobileBroadbandCellLte(::windows::runtime::IInspectable);
5417 impl MobileBroadbandCellLte {
5418     #[cfg(feature = "Foundation")]
CellId(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>>5419     pub fn CellId(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>> {
5420         let this = self;
5421         unsafe {
5422             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5423             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<i32>>(result__)
5424         }
5425     }
5426     #[cfg(feature = "Foundation")]
ChannelNumber(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>>5427     pub fn ChannelNumber(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>> {
5428         let this = self;
5429         unsafe {
5430             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5431             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<i32>>(result__)
5432         }
5433     }
5434     #[cfg(feature = "Foundation")]
PhysicalCellId(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>>5435     pub fn PhysicalCellId(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>> {
5436         let this = self;
5437         unsafe {
5438             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5439             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<i32>>(result__)
5440         }
5441     }
ProviderId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>5442     pub fn ProviderId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
5443         let this = self;
5444         unsafe {
5445             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
5446             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
5447         }
5448     }
5449     #[cfg(feature = "Foundation")]
ReferenceSignalReceivedPowerInDBm(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>>5450     pub fn ReferenceSignalReceivedPowerInDBm(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>> {
5451         let this = self;
5452         unsafe {
5453             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5454             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<f64>>(result__)
5455         }
5456     }
5457     #[cfg(feature = "Foundation")]
ReferenceSignalReceivedQualityInDBm(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>>5458     pub fn ReferenceSignalReceivedQualityInDBm(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>> {
5459         let this = self;
5460         unsafe {
5461             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5462             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<f64>>(result__)
5463         }
5464     }
5465     #[cfg(feature = "Foundation")]
TimingAdvanceInBitPeriods(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>>5466     pub fn TimingAdvanceInBitPeriods(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>> {
5467         let this = self;
5468         unsafe {
5469             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5470             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<i32>>(result__)
5471         }
5472     }
5473     #[cfg(feature = "Foundation")]
TrackingAreaCode(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>>5474     pub fn TrackingAreaCode(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>> {
5475         let this = self;
5476         unsafe {
5477             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5478             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<i32>>(result__)
5479         }
5480     }
5481 }
5482 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandCellLte {
5483     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandCellLte;{9197c87b-2b78-456d-8b53-aaa25d0af741})");
5484 }
5485 unsafe impl ::windows::runtime::Interface for MobileBroadbandCellLte {
5486     type Vtable = IMobileBroadbandCellLte_abi;
5487     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2442643579, 11128, 17773, [139, 83, 170, 162, 93, 10, 247, 65]);
5488 }
5489 impl ::windows::runtime::RuntimeName for MobileBroadbandCellLte {
5490     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandCellLte";
5491 }
5492 impl ::std::convert::From<MobileBroadbandCellLte> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandCellLte) -> Self5493     fn from(value: MobileBroadbandCellLte) -> Self {
5494         unsafe { ::std::mem::transmute(value) }
5495     }
5496 }
5497 impl ::std::convert::From<&MobileBroadbandCellLte> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandCellLte) -> Self5498     fn from(value: &MobileBroadbandCellLte) -> Self {
5499         ::std::convert::From::from(::std::clone::Clone::clone(value))
5500     }
5501 }
5502 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandCellLte {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5503     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5504         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5505     }
5506 }
5507 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandCellLte {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5508     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5509         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5510     }
5511 }
5512 impl ::std::convert::From<MobileBroadbandCellLte> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandCellLte) -> Self5513     fn from(value: MobileBroadbandCellLte) -> Self {
5514         value.0
5515     }
5516 }
5517 impl ::std::convert::From<&MobileBroadbandCellLte> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandCellLte) -> Self5518     fn from(value: &MobileBroadbandCellLte) -> Self {
5519         value.0.clone()
5520     }
5521 }
5522 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandCellLte {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5523     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5524         ::windows::runtime::Param::Owned(self.0)
5525     }
5526 }
5527 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandCellLte {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5528     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5529         ::windows::runtime::Param::Borrowed(&self.0)
5530     }
5531 }
5532 unsafe impl ::std::marker::Send for MobileBroadbandCellLte {}
5533 unsafe impl ::std::marker::Sync for MobileBroadbandCellLte {}
5534 #[repr(transparent)]
5535 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5536 pub struct MobileBroadbandCellNR(::windows::runtime::IInspectable);
5537 impl MobileBroadbandCellNR {
5538     #[cfg(feature = "Foundation")]
CellId(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i64>>5539     pub fn CellId(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i64>> {
5540         let this = self;
5541         unsafe {
5542             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5543             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<i64>>(result__)
5544         }
5545     }
5546     #[cfg(feature = "Foundation")]
ChannelNumber(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>>5547     pub fn ChannelNumber(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>> {
5548         let this = self;
5549         unsafe {
5550             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5551             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<i32>>(result__)
5552         }
5553     }
5554     #[cfg(feature = "Foundation")]
PhysicalCellId(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>>5555     pub fn PhysicalCellId(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>> {
5556         let this = self;
5557         unsafe {
5558             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5559             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<i32>>(result__)
5560         }
5561     }
ProviderId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>5562     pub fn ProviderId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
5563         let this = self;
5564         unsafe {
5565             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
5566             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
5567         }
5568     }
5569     #[cfg(feature = "Foundation")]
ReferenceSignalReceivedPowerInDBm(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>>5570     pub fn ReferenceSignalReceivedPowerInDBm(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>> {
5571         let this = self;
5572         unsafe {
5573             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5574             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<f64>>(result__)
5575         }
5576     }
5577     #[cfg(feature = "Foundation")]
ReferenceSignalReceivedQualityInDBm(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>>5578     pub fn ReferenceSignalReceivedQualityInDBm(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>> {
5579         let this = self;
5580         unsafe {
5581             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5582             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<f64>>(result__)
5583         }
5584     }
5585     #[cfg(feature = "Foundation")]
TimingAdvanceInNanoseconds(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>>5586     pub fn TimingAdvanceInNanoseconds(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>> {
5587         let this = self;
5588         unsafe {
5589             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5590             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<i32>>(result__)
5591         }
5592     }
5593     #[cfg(feature = "Foundation")]
TrackingAreaCode(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>>5594     pub fn TrackingAreaCode(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>> {
5595         let this = self;
5596         unsafe {
5597             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5598             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<i32>>(result__)
5599         }
5600     }
5601     #[cfg(feature = "Foundation")]
SignalToNoiseRatioInDB(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>>5602     pub fn SignalToNoiseRatioInDB(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>> {
5603         let this = self;
5604         unsafe {
5605             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5606             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<f64>>(result__)
5607         }
5608     }
5609 }
5610 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandCellNR {
5611     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandCellNR;{a13f0deb-66fc-4b4b-83a9-a487a3a5a0a6})");
5612 }
5613 unsafe impl ::windows::runtime::Interface for MobileBroadbandCellNR {
5614     type Vtable = IMobileBroadbandCellNR_abi;
5615     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2705264107, 26364, 19275, [131, 169, 164, 135, 163, 165, 160, 166]);
5616 }
5617 impl ::windows::runtime::RuntimeName for MobileBroadbandCellNR {
5618     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandCellNR";
5619 }
5620 impl ::std::convert::From<MobileBroadbandCellNR> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandCellNR) -> Self5621     fn from(value: MobileBroadbandCellNR) -> Self {
5622         unsafe { ::std::mem::transmute(value) }
5623     }
5624 }
5625 impl ::std::convert::From<&MobileBroadbandCellNR> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandCellNR) -> Self5626     fn from(value: &MobileBroadbandCellNR) -> Self {
5627         ::std::convert::From::from(::std::clone::Clone::clone(value))
5628     }
5629 }
5630 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandCellNR {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5631     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5632         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5633     }
5634 }
5635 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandCellNR {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5636     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5637         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5638     }
5639 }
5640 impl ::std::convert::From<MobileBroadbandCellNR> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandCellNR) -> Self5641     fn from(value: MobileBroadbandCellNR) -> Self {
5642         value.0
5643     }
5644 }
5645 impl ::std::convert::From<&MobileBroadbandCellNR> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandCellNR) -> Self5646     fn from(value: &MobileBroadbandCellNR) -> Self {
5647         value.0.clone()
5648     }
5649 }
5650 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandCellNR {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5651     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5652         ::windows::runtime::Param::Owned(self.0)
5653     }
5654 }
5655 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandCellNR {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5656     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5657         ::windows::runtime::Param::Borrowed(&self.0)
5658     }
5659 }
5660 unsafe impl ::std::marker::Send for MobileBroadbandCellNR {}
5661 unsafe impl ::std::marker::Sync for MobileBroadbandCellNR {}
5662 #[repr(transparent)]
5663 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5664 pub struct MobileBroadbandCellTdscdma(::windows::runtime::IInspectable);
5665 impl MobileBroadbandCellTdscdma {
5666     #[cfg(feature = "Foundation")]
CellId(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>>5667     pub fn CellId(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>> {
5668         let this = self;
5669         unsafe {
5670             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5671             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<i32>>(result__)
5672         }
5673     }
5674     #[cfg(feature = "Foundation")]
CellParameterId(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>>5675     pub fn CellParameterId(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>> {
5676         let this = self;
5677         unsafe {
5678             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5679             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<i32>>(result__)
5680         }
5681     }
5682     #[cfg(feature = "Foundation")]
ChannelNumber(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>>5683     pub fn ChannelNumber(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>> {
5684         let this = self;
5685         unsafe {
5686             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5687             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<i32>>(result__)
5688         }
5689     }
5690     #[cfg(feature = "Foundation")]
LocationAreaCode(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>>5691     pub fn LocationAreaCode(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>> {
5692         let this = self;
5693         unsafe {
5694             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5695             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<i32>>(result__)
5696         }
5697     }
5698     #[cfg(feature = "Foundation")]
PathLossInDB(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>>5699     pub fn PathLossInDB(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>> {
5700         let this = self;
5701         unsafe {
5702             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5703             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<f64>>(result__)
5704         }
5705     }
ProviderId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>5706     pub fn ProviderId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
5707         let this = self;
5708         unsafe {
5709             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
5710             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
5711         }
5712     }
5713     #[cfg(feature = "Foundation")]
ReceivedSignalCodePowerInDBm(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>>5714     pub fn ReceivedSignalCodePowerInDBm(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>> {
5715         let this = self;
5716         unsafe {
5717             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5718             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<f64>>(result__)
5719         }
5720     }
5721     #[cfg(feature = "Foundation")]
TimingAdvanceInBitPeriods(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>>5722     pub fn TimingAdvanceInBitPeriods(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>> {
5723         let this = self;
5724         unsafe {
5725             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5726             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<i32>>(result__)
5727         }
5728     }
5729 }
5730 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandCellTdscdma {
5731     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandCellTdscdma;{0eda1655-db0e-4182-8cda-cc419a7bde08})");
5732 }
5733 unsafe impl ::windows::runtime::Interface for MobileBroadbandCellTdscdma {
5734     type Vtable = IMobileBroadbandCellTdscdma_abi;
5735     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(249173589, 56078, 16770, [140, 218, 204, 65, 154, 123, 222, 8]);
5736 }
5737 impl ::windows::runtime::RuntimeName for MobileBroadbandCellTdscdma {
5738     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandCellTdscdma";
5739 }
5740 impl ::std::convert::From<MobileBroadbandCellTdscdma> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandCellTdscdma) -> Self5741     fn from(value: MobileBroadbandCellTdscdma) -> Self {
5742         unsafe { ::std::mem::transmute(value) }
5743     }
5744 }
5745 impl ::std::convert::From<&MobileBroadbandCellTdscdma> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandCellTdscdma) -> Self5746     fn from(value: &MobileBroadbandCellTdscdma) -> Self {
5747         ::std::convert::From::from(::std::clone::Clone::clone(value))
5748     }
5749 }
5750 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandCellTdscdma {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5751     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5752         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5753     }
5754 }
5755 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandCellTdscdma {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5756     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5757         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5758     }
5759 }
5760 impl ::std::convert::From<MobileBroadbandCellTdscdma> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandCellTdscdma) -> Self5761     fn from(value: MobileBroadbandCellTdscdma) -> Self {
5762         value.0
5763     }
5764 }
5765 impl ::std::convert::From<&MobileBroadbandCellTdscdma> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandCellTdscdma) -> Self5766     fn from(value: &MobileBroadbandCellTdscdma) -> Self {
5767         value.0.clone()
5768     }
5769 }
5770 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandCellTdscdma {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5771     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5772         ::windows::runtime::Param::Owned(self.0)
5773     }
5774 }
5775 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandCellTdscdma {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5776     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5777         ::windows::runtime::Param::Borrowed(&self.0)
5778     }
5779 }
5780 unsafe impl ::std::marker::Send for MobileBroadbandCellTdscdma {}
5781 unsafe impl ::std::marker::Sync for MobileBroadbandCellTdscdma {}
5782 #[repr(transparent)]
5783 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5784 pub struct MobileBroadbandCellUmts(::windows::runtime::IInspectable);
5785 impl MobileBroadbandCellUmts {
5786     #[cfg(feature = "Foundation")]
CellId(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>>5787     pub fn CellId(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>> {
5788         let this = self;
5789         unsafe {
5790             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5791             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<i32>>(result__)
5792         }
5793     }
5794     #[cfg(feature = "Foundation")]
ChannelNumber(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>>5795     pub fn ChannelNumber(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>> {
5796         let this = self;
5797         unsafe {
5798             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5799             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<i32>>(result__)
5800         }
5801     }
5802     #[cfg(feature = "Foundation")]
LocationAreaCode(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>>5803     pub fn LocationAreaCode(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>> {
5804         let this = self;
5805         unsafe {
5806             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5807             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<i32>>(result__)
5808         }
5809     }
5810     #[cfg(feature = "Foundation")]
PathLossInDB(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>>5811     pub fn PathLossInDB(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>> {
5812         let this = self;
5813         unsafe {
5814             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5815             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<f64>>(result__)
5816         }
5817     }
5818     #[cfg(feature = "Foundation")]
PrimaryScramblingCode(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>>5819     pub fn PrimaryScramblingCode(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i32>> {
5820         let this = self;
5821         unsafe {
5822             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5823             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<i32>>(result__)
5824         }
5825     }
ProviderId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>5826     pub fn ProviderId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
5827         let this = self;
5828         unsafe {
5829             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
5830             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
5831         }
5832     }
5833     #[cfg(feature = "Foundation")]
ReceivedSignalCodePowerInDBm(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>>5834     pub fn ReceivedSignalCodePowerInDBm(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>> {
5835         let this = self;
5836         unsafe {
5837             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5838             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<f64>>(result__)
5839         }
5840     }
5841     #[cfg(feature = "Foundation")]
SignalToNoiseRatioInDB(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>>5842     pub fn SignalToNoiseRatioInDB(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<f64>> {
5843         let this = self;
5844         unsafe {
5845             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5846             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<f64>>(result__)
5847         }
5848     }
5849 }
5850 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandCellUmts {
5851     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandCellUmts;{77b4b5ae-49c8-4f15-b285-4c26a7f67215})");
5852 }
5853 unsafe impl ::windows::runtime::Interface for MobileBroadbandCellUmts {
5854     type Vtable = IMobileBroadbandCellUmts_abi;
5855     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2008331694, 18888, 20245, [178, 133, 76, 38, 167, 246, 114, 21]);
5856 }
5857 impl ::windows::runtime::RuntimeName for MobileBroadbandCellUmts {
5858     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandCellUmts";
5859 }
5860 impl ::std::convert::From<MobileBroadbandCellUmts> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandCellUmts) -> Self5861     fn from(value: MobileBroadbandCellUmts) -> Self {
5862         unsafe { ::std::mem::transmute(value) }
5863     }
5864 }
5865 impl ::std::convert::From<&MobileBroadbandCellUmts> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandCellUmts) -> Self5866     fn from(value: &MobileBroadbandCellUmts) -> Self {
5867         ::std::convert::From::from(::std::clone::Clone::clone(value))
5868     }
5869 }
5870 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandCellUmts {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5871     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5872         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
5873     }
5874 }
5875 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandCellUmts {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>5876     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
5877         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
5878     }
5879 }
5880 impl ::std::convert::From<MobileBroadbandCellUmts> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandCellUmts) -> Self5881     fn from(value: MobileBroadbandCellUmts) -> Self {
5882         value.0
5883     }
5884 }
5885 impl ::std::convert::From<&MobileBroadbandCellUmts> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandCellUmts) -> Self5886     fn from(value: &MobileBroadbandCellUmts) -> Self {
5887         value.0.clone()
5888     }
5889 }
5890 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandCellUmts {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5891     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5892         ::windows::runtime::Param::Owned(self.0)
5893     }
5894 }
5895 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandCellUmts {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>5896     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
5897         ::windows::runtime::Param::Borrowed(&self.0)
5898     }
5899 }
5900 unsafe impl ::std::marker::Send for MobileBroadbandCellUmts {}
5901 unsafe impl ::std::marker::Sync for MobileBroadbandCellUmts {}
5902 #[repr(transparent)]
5903 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
5904 pub struct MobileBroadbandCellsInfo(::windows::runtime::IInspectable);
5905 impl MobileBroadbandCellsInfo {
5906     #[cfg(feature = "Foundation_Collections")]
NeighboringCellsCdma(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellCdma>>5907     pub fn NeighboringCellsCdma(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellCdma>> {
5908         let this = self;
5909         unsafe {
5910             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5911             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellCdma>>(result__)
5912         }
5913     }
5914     #[cfg(feature = "Foundation_Collections")]
NeighboringCellsGsm(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellGsm>>5915     pub fn NeighboringCellsGsm(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellGsm>> {
5916         let this = self;
5917         unsafe {
5918             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5919             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellGsm>>(result__)
5920         }
5921     }
5922     #[cfg(feature = "Foundation_Collections")]
NeighboringCellsLte(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellLte>>5923     pub fn NeighboringCellsLte(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellLte>> {
5924         let this = self;
5925         unsafe {
5926             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5927             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellLte>>(result__)
5928         }
5929     }
5930     #[cfg(feature = "Foundation_Collections")]
NeighboringCellsTdscdma(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellTdscdma>>5931     pub fn NeighboringCellsTdscdma(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellTdscdma>> {
5932         let this = self;
5933         unsafe {
5934             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5935             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellTdscdma>>(result__)
5936         }
5937     }
5938     #[cfg(feature = "Foundation_Collections")]
NeighboringCellsUmts(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellUmts>>5939     pub fn NeighboringCellsUmts(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellUmts>> {
5940         let this = self;
5941         unsafe {
5942             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5943             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellUmts>>(result__)
5944         }
5945     }
5946     #[cfg(feature = "Foundation_Collections")]
ServingCellsCdma(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellCdma>>5947     pub fn ServingCellsCdma(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellCdma>> {
5948         let this = self;
5949         unsafe {
5950             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5951             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellCdma>>(result__)
5952         }
5953     }
5954     #[cfg(feature = "Foundation_Collections")]
ServingCellsGsm(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellGsm>>5955     pub fn ServingCellsGsm(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellGsm>> {
5956         let this = self;
5957         unsafe {
5958             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5959             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellGsm>>(result__)
5960         }
5961     }
5962     #[cfg(feature = "Foundation_Collections")]
ServingCellsLte(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellLte>>5963     pub fn ServingCellsLte(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellLte>> {
5964         let this = self;
5965         unsafe {
5966             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5967             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellLte>>(result__)
5968         }
5969     }
5970     #[cfg(feature = "Foundation_Collections")]
ServingCellsTdscdma(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellTdscdma>>5971     pub fn ServingCellsTdscdma(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellTdscdma>> {
5972         let this = self;
5973         unsafe {
5974             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5975             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellTdscdma>>(result__)
5976         }
5977     }
5978     #[cfg(feature = "Foundation_Collections")]
ServingCellsUmts(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellUmts>>5979     pub fn ServingCellsUmts(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellUmts>> {
5980         let this = self;
5981         unsafe {
5982             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5983             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellUmts>>(result__)
5984         }
5985     }
5986     #[cfg(feature = "Foundation_Collections")]
NeighboringCellsNR(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellNR>>5987     pub fn NeighboringCellsNR(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellNR>> {
5988         let this = &::windows::runtime::Interface::cast::<IMobileBroadbandCellsInfo2>(self)?;
5989         unsafe {
5990             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5991             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellNR>>(result__)
5992         }
5993     }
5994     #[cfg(feature = "Foundation_Collections")]
ServingCellsNR(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellNR>>5995     pub fn ServingCellsNR(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellNR>> {
5996         let this = &::windows::runtime::Interface::cast::<IMobileBroadbandCellsInfo2>(self)?;
5997         unsafe {
5998             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
5999             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<MobileBroadbandCellNR>>(result__)
6000         }
6001     }
6002 }
6003 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandCellsInfo {
6004     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandCellsInfo;{89a9562a-e472-4da5-929c-de61711dd261})");
6005 }
6006 unsafe impl ::windows::runtime::Interface for MobileBroadbandCellsInfo {
6007     type Vtable = IMobileBroadbandCellsInfo_abi;
6008     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2309576234, 58482, 19877, [146, 156, 222, 97, 113, 29, 210, 97]);
6009 }
6010 impl ::windows::runtime::RuntimeName for MobileBroadbandCellsInfo {
6011     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandCellsInfo";
6012 }
6013 impl ::std::convert::From<MobileBroadbandCellsInfo> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandCellsInfo) -> Self6014     fn from(value: MobileBroadbandCellsInfo) -> Self {
6015         unsafe { ::std::mem::transmute(value) }
6016     }
6017 }
6018 impl ::std::convert::From<&MobileBroadbandCellsInfo> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandCellsInfo) -> Self6019     fn from(value: &MobileBroadbandCellsInfo) -> Self {
6020         ::std::convert::From::from(::std::clone::Clone::clone(value))
6021     }
6022 }
6023 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandCellsInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6024     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6025         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6026     }
6027 }
6028 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandCellsInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6029     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6030         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6031     }
6032 }
6033 impl ::std::convert::From<MobileBroadbandCellsInfo> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandCellsInfo) -> Self6034     fn from(value: MobileBroadbandCellsInfo) -> Self {
6035         value.0
6036     }
6037 }
6038 impl ::std::convert::From<&MobileBroadbandCellsInfo> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandCellsInfo) -> Self6039     fn from(value: &MobileBroadbandCellsInfo) -> Self {
6040         value.0.clone()
6041     }
6042 }
6043 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandCellsInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6044     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6045         ::windows::runtime::Param::Owned(self.0)
6046     }
6047 }
6048 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandCellsInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6049     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6050         ::windows::runtime::Param::Borrowed(&self.0)
6051     }
6052 }
6053 unsafe impl ::std::marker::Send for MobileBroadbandCellsInfo {}
6054 unsafe impl ::std::marker::Sync for MobileBroadbandCellsInfo {}
6055 #[repr(transparent)]
6056 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6057 pub struct MobileBroadbandCurrentSlotIndexChangedEventArgs(::windows::runtime::IInspectable);
6058 impl MobileBroadbandCurrentSlotIndexChangedEventArgs {
CurrentSlotIndex(&self) -> ::windows::runtime::Result<i32>6059     pub fn CurrentSlotIndex(&self) -> ::windows::runtime::Result<i32> {
6060         let this = self;
6061         unsafe {
6062             let mut result__: i32 = ::std::mem::zeroed();
6063             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
6064         }
6065     }
6066 }
6067 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandCurrentSlotIndexChangedEventArgs {
6068     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandCurrentSlotIndexChangedEventArgs;{f718b184-c370-5fd4-a670-1846cb9bce47})");
6069 }
6070 unsafe impl ::windows::runtime::Interface for MobileBroadbandCurrentSlotIndexChangedEventArgs {
6071     type Vtable = IMobileBroadbandCurrentSlotIndexChangedEventArgs_abi;
6072     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4145590660, 50032, 24532, [166, 112, 24, 70, 203, 155, 206, 71]);
6073 }
6074 impl ::windows::runtime::RuntimeName for MobileBroadbandCurrentSlotIndexChangedEventArgs {
6075     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandCurrentSlotIndexChangedEventArgs";
6076 }
6077 impl ::std::convert::From<MobileBroadbandCurrentSlotIndexChangedEventArgs> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandCurrentSlotIndexChangedEventArgs) -> Self6078     fn from(value: MobileBroadbandCurrentSlotIndexChangedEventArgs) -> Self {
6079         unsafe { ::std::mem::transmute(value) }
6080     }
6081 }
6082 impl ::std::convert::From<&MobileBroadbandCurrentSlotIndexChangedEventArgs> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandCurrentSlotIndexChangedEventArgs) -> Self6083     fn from(value: &MobileBroadbandCurrentSlotIndexChangedEventArgs) -> Self {
6084         ::std::convert::From::from(::std::clone::Clone::clone(value))
6085     }
6086 }
6087 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandCurrentSlotIndexChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6088     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6089         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6090     }
6091 }
6092 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandCurrentSlotIndexChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6093     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6094         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6095     }
6096 }
6097 impl ::std::convert::From<MobileBroadbandCurrentSlotIndexChangedEventArgs> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandCurrentSlotIndexChangedEventArgs) -> Self6098     fn from(value: MobileBroadbandCurrentSlotIndexChangedEventArgs) -> Self {
6099         value.0
6100     }
6101 }
6102 impl ::std::convert::From<&MobileBroadbandCurrentSlotIndexChangedEventArgs> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandCurrentSlotIndexChangedEventArgs) -> Self6103     fn from(value: &MobileBroadbandCurrentSlotIndexChangedEventArgs) -> Self {
6104         value.0.clone()
6105     }
6106 }
6107 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandCurrentSlotIndexChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6108     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6109         ::windows::runtime::Param::Owned(self.0)
6110     }
6111 }
6112 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandCurrentSlotIndexChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6113     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6114         ::windows::runtime::Param::Borrowed(&self.0)
6115     }
6116 }
6117 unsafe impl ::std::marker::Send for MobileBroadbandCurrentSlotIndexChangedEventArgs {}
6118 unsafe impl ::std::marker::Sync for MobileBroadbandCurrentSlotIndexChangedEventArgs {}
6119 #[repr(transparent)]
6120 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6121 pub struct MobileBroadbandDeviceInformation(::windows::runtime::IInspectable);
6122 impl MobileBroadbandDeviceInformation {
NetworkDeviceStatus(&self) -> ::windows::runtime::Result<NetworkDeviceStatus>6123     pub fn NetworkDeviceStatus(&self) -> ::windows::runtime::Result<NetworkDeviceStatus> {
6124         let this = self;
6125         unsafe {
6126             let mut result__: NetworkDeviceStatus = ::std::mem::zeroed();
6127             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<NetworkDeviceStatus>(result__)
6128         }
6129     }
Manufacturer(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>6130     pub fn Manufacturer(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
6131         let this = self;
6132         unsafe {
6133             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
6134             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
6135         }
6136     }
Model(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>6137     pub fn Model(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
6138         let this = self;
6139         unsafe {
6140             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
6141             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
6142         }
6143     }
FirmwareInformation(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>6144     pub fn FirmwareInformation(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
6145         let this = self;
6146         unsafe {
6147             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
6148             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
6149         }
6150     }
6151     #[cfg(feature = "Devices_Sms")]
CellularClass(&self) -> ::windows::runtime::Result<super::super::Devices::Sms::CellularClass>6152     pub fn CellularClass(&self) -> ::windows::runtime::Result<super::super::Devices::Sms::CellularClass> {
6153         let this = self;
6154         unsafe {
6155             let mut result__: super::super::Devices::Sms::CellularClass = ::std::mem::zeroed();
6156             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Devices::Sms::CellularClass>(result__)
6157         }
6158     }
DataClasses(&self) -> ::windows::runtime::Result<DataClasses>6159     pub fn DataClasses(&self) -> ::windows::runtime::Result<DataClasses> {
6160         let this = self;
6161         unsafe {
6162             let mut result__: DataClasses = ::std::mem::zeroed();
6163             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<DataClasses>(result__)
6164         }
6165     }
CustomDataClass(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>6166     pub fn CustomDataClass(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
6167         let this = self;
6168         unsafe {
6169             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
6170             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
6171         }
6172     }
MobileEquipmentId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>6173     pub fn MobileEquipmentId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
6174         let this = self;
6175         unsafe {
6176             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
6177             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
6178         }
6179     }
6180     #[cfg(feature = "Foundation_Collections")]
TelephoneNumbers(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<::windows::runtime::HSTRING>>6181     pub fn TelephoneNumbers(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<::windows::runtime::HSTRING>> {
6182         let this = self;
6183         unsafe {
6184             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6185             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<::windows::runtime::HSTRING>>(result__)
6186         }
6187     }
SubscriberId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>6188     pub fn SubscriberId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
6189         let this = self;
6190         unsafe {
6191             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
6192             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
6193         }
6194     }
SimIccId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>6195     pub fn SimIccId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
6196         let this = self;
6197         unsafe {
6198             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
6199             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
6200         }
6201     }
DeviceType(&self) -> ::windows::runtime::Result<MobileBroadbandDeviceType>6202     pub fn DeviceType(&self) -> ::windows::runtime::Result<MobileBroadbandDeviceType> {
6203         let this = self;
6204         unsafe {
6205             let mut result__: MobileBroadbandDeviceType = ::std::mem::zeroed();
6206             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MobileBroadbandDeviceType>(result__)
6207         }
6208     }
DeviceId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>6209     pub fn DeviceId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
6210         let this = self;
6211         unsafe {
6212             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
6213             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
6214         }
6215     }
CurrentRadioState(&self) -> ::windows::runtime::Result<MobileBroadbandRadioState>6216     pub fn CurrentRadioState(&self) -> ::windows::runtime::Result<MobileBroadbandRadioState> {
6217         let this = self;
6218         unsafe {
6219             let mut result__: MobileBroadbandRadioState = ::std::mem::zeroed();
6220             (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MobileBroadbandRadioState>(result__)
6221         }
6222     }
PinManager(&self) -> ::windows::runtime::Result<MobileBroadbandPinManager>6223     pub fn PinManager(&self) -> ::windows::runtime::Result<MobileBroadbandPinManager> {
6224         let this = &::windows::runtime::Interface::cast::<IMobileBroadbandDeviceInformation2>(self)?;
6225         unsafe {
6226             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6227             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MobileBroadbandPinManager>(result__)
6228         }
6229     }
Revision(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>6230     pub fn Revision(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
6231         let this = &::windows::runtime::Interface::cast::<IMobileBroadbandDeviceInformation2>(self)?;
6232         unsafe {
6233             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
6234             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
6235         }
6236     }
SerialNumber(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>6237     pub fn SerialNumber(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
6238         let this = &::windows::runtime::Interface::cast::<IMobileBroadbandDeviceInformation2>(self)?;
6239         unsafe {
6240             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
6241             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
6242         }
6243     }
SimSpn(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>6244     pub fn SimSpn(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
6245         let this = &::windows::runtime::Interface::cast::<IMobileBroadbandDeviceInformation3>(self)?;
6246         unsafe {
6247             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
6248             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
6249         }
6250     }
SimPnn(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>6251     pub fn SimPnn(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
6252         let this = &::windows::runtime::Interface::cast::<IMobileBroadbandDeviceInformation3>(self)?;
6253         unsafe {
6254             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
6255             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
6256         }
6257     }
SimGid1(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>6258     pub fn SimGid1(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
6259         let this = &::windows::runtime::Interface::cast::<IMobileBroadbandDeviceInformation3>(self)?;
6260         unsafe {
6261             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
6262             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
6263         }
6264     }
SlotManager(&self) -> ::windows::runtime::Result<MobileBroadbandSlotManager>6265     pub fn SlotManager(&self) -> ::windows::runtime::Result<MobileBroadbandSlotManager> {
6266         let this = &::windows::runtime::Interface::cast::<IMobileBroadbandDeviceInformation4>(self)?;
6267         unsafe {
6268             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6269             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MobileBroadbandSlotManager>(result__)
6270         }
6271     }
6272 }
6273 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandDeviceInformation {
6274     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandDeviceInformation;{e6d08168-e381-4c6e-9be8-fe156969a446})");
6275 }
6276 unsafe impl ::windows::runtime::Interface for MobileBroadbandDeviceInformation {
6277     type Vtable = IMobileBroadbandDeviceInformation_abi;
6278     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3872424296, 58241, 19566, [155, 232, 254, 21, 105, 105, 164, 70]);
6279 }
6280 impl ::windows::runtime::RuntimeName for MobileBroadbandDeviceInformation {
6281     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandDeviceInformation";
6282 }
6283 impl ::std::convert::From<MobileBroadbandDeviceInformation> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandDeviceInformation) -> Self6284     fn from(value: MobileBroadbandDeviceInformation) -> Self {
6285         unsafe { ::std::mem::transmute(value) }
6286     }
6287 }
6288 impl ::std::convert::From<&MobileBroadbandDeviceInformation> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandDeviceInformation) -> Self6289     fn from(value: &MobileBroadbandDeviceInformation) -> Self {
6290         ::std::convert::From::from(::std::clone::Clone::clone(value))
6291     }
6292 }
6293 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandDeviceInformation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6294     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6295         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6296     }
6297 }
6298 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandDeviceInformation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6299     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6300         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6301     }
6302 }
6303 impl ::std::convert::From<MobileBroadbandDeviceInformation> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandDeviceInformation) -> Self6304     fn from(value: MobileBroadbandDeviceInformation) -> Self {
6305         value.0
6306     }
6307 }
6308 impl ::std::convert::From<&MobileBroadbandDeviceInformation> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandDeviceInformation) -> Self6309     fn from(value: &MobileBroadbandDeviceInformation) -> Self {
6310         value.0.clone()
6311     }
6312 }
6313 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandDeviceInformation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6314     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6315         ::windows::runtime::Param::Owned(self.0)
6316     }
6317 }
6318 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandDeviceInformation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6319     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6320         ::windows::runtime::Param::Borrowed(&self.0)
6321     }
6322 }
6323 #[repr(transparent)]
6324 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6325 pub struct MobileBroadbandDeviceService(::windows::runtime::IInspectable);
6326 impl MobileBroadbandDeviceService {
DeviceServiceId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>6327     pub fn DeviceServiceId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
6328         let this = self;
6329         unsafe {
6330             let mut result__: ::windows::runtime::GUID = ::std::mem::zeroed();
6331             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
6332         }
6333     }
6334     #[cfg(feature = "Foundation_Collections")]
SupportedCommands(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<u32>>6335     pub fn SupportedCommands(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<u32>> {
6336         let this = self;
6337         unsafe {
6338             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6339             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<u32>>(result__)
6340         }
6341     }
OpenDataSession(&self) -> ::windows::runtime::Result<MobileBroadbandDeviceServiceDataSession>6342     pub fn OpenDataSession(&self) -> ::windows::runtime::Result<MobileBroadbandDeviceServiceDataSession> {
6343         let this = self;
6344         unsafe {
6345             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6346             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MobileBroadbandDeviceServiceDataSession>(result__)
6347         }
6348     }
OpenCommandSession(&self) -> ::windows::runtime::Result<MobileBroadbandDeviceServiceCommandSession>6349     pub fn OpenCommandSession(&self) -> ::windows::runtime::Result<MobileBroadbandDeviceServiceCommandSession> {
6350         let this = self;
6351         unsafe {
6352             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6353             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MobileBroadbandDeviceServiceCommandSession>(result__)
6354         }
6355     }
6356 }
6357 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandDeviceService {
6358     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandDeviceService;{22be1a52-bd80-40ac-8e1f-2e07836a3dbd})");
6359 }
6360 unsafe impl ::windows::runtime::Interface for MobileBroadbandDeviceService {
6361     type Vtable = IMobileBroadbandDeviceService_abi;
6362     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(582883922, 48512, 16556, [142, 31, 46, 7, 131, 106, 61, 189]);
6363 }
6364 impl ::windows::runtime::RuntimeName for MobileBroadbandDeviceService {
6365     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandDeviceService";
6366 }
6367 impl ::std::convert::From<MobileBroadbandDeviceService> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandDeviceService) -> Self6368     fn from(value: MobileBroadbandDeviceService) -> Self {
6369         unsafe { ::std::mem::transmute(value) }
6370     }
6371 }
6372 impl ::std::convert::From<&MobileBroadbandDeviceService> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandDeviceService) -> Self6373     fn from(value: &MobileBroadbandDeviceService) -> Self {
6374         ::std::convert::From::from(::std::clone::Clone::clone(value))
6375     }
6376 }
6377 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandDeviceService {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6378     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6379         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6380     }
6381 }
6382 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandDeviceService {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6383     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6384         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6385     }
6386 }
6387 impl ::std::convert::From<MobileBroadbandDeviceService> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandDeviceService) -> Self6388     fn from(value: MobileBroadbandDeviceService) -> Self {
6389         value.0
6390     }
6391 }
6392 impl ::std::convert::From<&MobileBroadbandDeviceService> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandDeviceService) -> Self6393     fn from(value: &MobileBroadbandDeviceService) -> Self {
6394         value.0.clone()
6395     }
6396 }
6397 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandDeviceService {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6398     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6399         ::windows::runtime::Param::Owned(self.0)
6400     }
6401 }
6402 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandDeviceService {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6403     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6404         ::windows::runtime::Param::Borrowed(&self.0)
6405     }
6406 }
6407 unsafe impl ::std::marker::Send for MobileBroadbandDeviceService {}
6408 unsafe impl ::std::marker::Sync for MobileBroadbandDeviceService {}
6409 #[repr(transparent)]
6410 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6411 pub struct MobileBroadbandDeviceServiceCommandResult(::windows::runtime::IInspectable);
6412 impl MobileBroadbandDeviceServiceCommandResult {
StatusCode(&self) -> ::windows::runtime::Result<u32>6413     pub fn StatusCode(&self) -> ::windows::runtime::Result<u32> {
6414         let this = self;
6415         unsafe {
6416             let mut result__: u32 = ::std::mem::zeroed();
6417             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
6418         }
6419     }
6420     #[cfg(feature = "Storage_Streams")]
ResponseData(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IBuffer>6421     pub fn ResponseData(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IBuffer> {
6422         let this = self;
6423         unsafe {
6424             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6425             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Storage::Streams::IBuffer>(result__)
6426         }
6427     }
6428 }
6429 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandDeviceServiceCommandResult {
6430     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandDeviceServiceCommandResult;{b0f46abb-94d6-44b9-a538-f0810b645389})");
6431 }
6432 unsafe impl ::windows::runtime::Interface for MobileBroadbandDeviceServiceCommandResult {
6433     type Vtable = IMobileBroadbandDeviceServiceCommandResult_abi;
6434     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2968808123, 38102, 17593, [165, 56, 240, 129, 11, 100, 83, 137]);
6435 }
6436 impl ::windows::runtime::RuntimeName for MobileBroadbandDeviceServiceCommandResult {
6437     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandDeviceServiceCommandResult";
6438 }
6439 impl ::std::convert::From<MobileBroadbandDeviceServiceCommandResult> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandDeviceServiceCommandResult) -> Self6440     fn from(value: MobileBroadbandDeviceServiceCommandResult) -> Self {
6441         unsafe { ::std::mem::transmute(value) }
6442     }
6443 }
6444 impl ::std::convert::From<&MobileBroadbandDeviceServiceCommandResult> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandDeviceServiceCommandResult) -> Self6445     fn from(value: &MobileBroadbandDeviceServiceCommandResult) -> Self {
6446         ::std::convert::From::from(::std::clone::Clone::clone(value))
6447     }
6448 }
6449 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandDeviceServiceCommandResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6450     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6451         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6452     }
6453 }
6454 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandDeviceServiceCommandResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6455     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6456         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6457     }
6458 }
6459 impl ::std::convert::From<MobileBroadbandDeviceServiceCommandResult> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandDeviceServiceCommandResult) -> Self6460     fn from(value: MobileBroadbandDeviceServiceCommandResult) -> Self {
6461         value.0
6462     }
6463 }
6464 impl ::std::convert::From<&MobileBroadbandDeviceServiceCommandResult> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandDeviceServiceCommandResult) -> Self6465     fn from(value: &MobileBroadbandDeviceServiceCommandResult) -> Self {
6466         value.0.clone()
6467     }
6468 }
6469 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandDeviceServiceCommandResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6470     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6471         ::windows::runtime::Param::Owned(self.0)
6472     }
6473 }
6474 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandDeviceServiceCommandResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6475     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6476         ::windows::runtime::Param::Borrowed(&self.0)
6477     }
6478 }
6479 unsafe impl ::std::marker::Send for MobileBroadbandDeviceServiceCommandResult {}
6480 unsafe impl ::std::marker::Sync for MobileBroadbandDeviceServiceCommandResult {}
6481 #[repr(transparent)]
6482 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6483 pub struct MobileBroadbandDeviceServiceCommandSession(::windows::runtime::IInspectable);
6484 impl MobileBroadbandDeviceServiceCommandSession {
6485     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
SendQueryCommandAsync<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IBuffer>>(&self, commandid: u32, data: Param1) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<MobileBroadbandDeviceServiceCommandResult>>6486     pub fn SendQueryCommandAsync<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IBuffer>>(&self, commandid: u32, data: Param1) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<MobileBroadbandDeviceServiceCommandResult>> {
6487         let this = self;
6488         unsafe {
6489             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6490             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), commandid, data.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<MobileBroadbandDeviceServiceCommandResult>>(result__)
6491         }
6492     }
6493     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
SendSetCommandAsync<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IBuffer>>(&self, commandid: u32, data: Param1) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<MobileBroadbandDeviceServiceCommandResult>>6494     pub fn SendSetCommandAsync<'a, Param1: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IBuffer>>(&self, commandid: u32, data: Param1) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<MobileBroadbandDeviceServiceCommandResult>> {
6495         let this = self;
6496         unsafe {
6497             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6498             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), commandid, data.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<MobileBroadbandDeviceServiceCommandResult>>(result__)
6499         }
6500     }
CloseSession(&self) -> ::windows::runtime::Result<()>6501     pub fn CloseSession(&self) -> ::windows::runtime::Result<()> {
6502         let this = self;
6503         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this)).ok() }
6504     }
6505 }
6506 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandDeviceServiceCommandSession {
6507     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandDeviceServiceCommandSession;{fc098a45-913b-4914-b6c3-ae6304593e75})");
6508 }
6509 unsafe impl ::windows::runtime::Interface for MobileBroadbandDeviceServiceCommandSession {
6510     type Vtable = IMobileBroadbandDeviceServiceCommandSession_abi;
6511     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4228483653, 37179, 18708, [182, 195, 174, 99, 4, 89, 62, 117]);
6512 }
6513 impl ::windows::runtime::RuntimeName for MobileBroadbandDeviceServiceCommandSession {
6514     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandDeviceServiceCommandSession";
6515 }
6516 impl ::std::convert::From<MobileBroadbandDeviceServiceCommandSession> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandDeviceServiceCommandSession) -> Self6517     fn from(value: MobileBroadbandDeviceServiceCommandSession) -> Self {
6518         unsafe { ::std::mem::transmute(value) }
6519     }
6520 }
6521 impl ::std::convert::From<&MobileBroadbandDeviceServiceCommandSession> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandDeviceServiceCommandSession) -> Self6522     fn from(value: &MobileBroadbandDeviceServiceCommandSession) -> Self {
6523         ::std::convert::From::from(::std::clone::Clone::clone(value))
6524     }
6525 }
6526 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandDeviceServiceCommandSession {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6527     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6528         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6529     }
6530 }
6531 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandDeviceServiceCommandSession {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6532     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6533         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6534     }
6535 }
6536 impl ::std::convert::From<MobileBroadbandDeviceServiceCommandSession> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandDeviceServiceCommandSession) -> Self6537     fn from(value: MobileBroadbandDeviceServiceCommandSession) -> Self {
6538         value.0
6539     }
6540 }
6541 impl ::std::convert::From<&MobileBroadbandDeviceServiceCommandSession> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandDeviceServiceCommandSession) -> Self6542     fn from(value: &MobileBroadbandDeviceServiceCommandSession) -> Self {
6543         value.0.clone()
6544     }
6545 }
6546 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandDeviceServiceCommandSession {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6547     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6548         ::windows::runtime::Param::Owned(self.0)
6549     }
6550 }
6551 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandDeviceServiceCommandSession {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6552     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6553         ::windows::runtime::Param::Borrowed(&self.0)
6554     }
6555 }
6556 unsafe impl ::std::marker::Send for MobileBroadbandDeviceServiceCommandSession {}
6557 unsafe impl ::std::marker::Sync for MobileBroadbandDeviceServiceCommandSession {}
6558 #[repr(transparent)]
6559 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6560 pub struct MobileBroadbandDeviceServiceDataReceivedEventArgs(::windows::runtime::IInspectable);
6561 impl MobileBroadbandDeviceServiceDataReceivedEventArgs {
6562     #[cfg(feature = "Storage_Streams")]
ReceivedData(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IBuffer>6563     pub fn ReceivedData(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IBuffer> {
6564         let this = self;
6565         unsafe {
6566             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6567             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Storage::Streams::IBuffer>(result__)
6568         }
6569     }
6570 }
6571 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandDeviceServiceDataReceivedEventArgs {
6572     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandDeviceServiceDataReceivedEventArgs;{b6aa13de-1380-40e3-8618-73cbca48138c})");
6573 }
6574 unsafe impl ::windows::runtime::Interface for MobileBroadbandDeviceServiceDataReceivedEventArgs {
6575     type Vtable = IMobileBroadbandDeviceServiceDataReceivedEventArgs_abi;
6576     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3064599518, 4992, 16611, [134, 24, 115, 203, 202, 72, 19, 140]);
6577 }
6578 impl ::windows::runtime::RuntimeName for MobileBroadbandDeviceServiceDataReceivedEventArgs {
6579     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandDeviceServiceDataReceivedEventArgs";
6580 }
6581 impl ::std::convert::From<MobileBroadbandDeviceServiceDataReceivedEventArgs> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandDeviceServiceDataReceivedEventArgs) -> Self6582     fn from(value: MobileBroadbandDeviceServiceDataReceivedEventArgs) -> Self {
6583         unsafe { ::std::mem::transmute(value) }
6584     }
6585 }
6586 impl ::std::convert::From<&MobileBroadbandDeviceServiceDataReceivedEventArgs> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandDeviceServiceDataReceivedEventArgs) -> Self6587     fn from(value: &MobileBroadbandDeviceServiceDataReceivedEventArgs) -> Self {
6588         ::std::convert::From::from(::std::clone::Clone::clone(value))
6589     }
6590 }
6591 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandDeviceServiceDataReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6592     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6593         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6594     }
6595 }
6596 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandDeviceServiceDataReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6597     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6598         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6599     }
6600 }
6601 impl ::std::convert::From<MobileBroadbandDeviceServiceDataReceivedEventArgs> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandDeviceServiceDataReceivedEventArgs) -> Self6602     fn from(value: MobileBroadbandDeviceServiceDataReceivedEventArgs) -> Self {
6603         value.0
6604     }
6605 }
6606 impl ::std::convert::From<&MobileBroadbandDeviceServiceDataReceivedEventArgs> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandDeviceServiceDataReceivedEventArgs) -> Self6607     fn from(value: &MobileBroadbandDeviceServiceDataReceivedEventArgs) -> Self {
6608         value.0.clone()
6609     }
6610 }
6611 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandDeviceServiceDataReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6612     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6613         ::windows::runtime::Param::Owned(self.0)
6614     }
6615 }
6616 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandDeviceServiceDataReceivedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6617     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6618         ::windows::runtime::Param::Borrowed(&self.0)
6619     }
6620 }
6621 unsafe impl ::std::marker::Send for MobileBroadbandDeviceServiceDataReceivedEventArgs {}
6622 unsafe impl ::std::marker::Sync for MobileBroadbandDeviceServiceDataReceivedEventArgs {}
6623 #[repr(transparent)]
6624 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6625 pub struct MobileBroadbandDeviceServiceDataSession(::windows::runtime::IInspectable);
6626 impl MobileBroadbandDeviceServiceDataSession {
6627     #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))]
WriteDataAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IBuffer>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>6628     pub fn WriteDataAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IBuffer>>(&self, value: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> {
6629         let this = self;
6630         unsafe {
6631             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6632             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), value.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__)
6633         }
6634     }
CloseSession(&self) -> ::windows::runtime::Result<()>6635     pub fn CloseSession(&self) -> ::windows::runtime::Result<()> {
6636         let this = self;
6637         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this)).ok() }
6638     }
6639     #[cfg(feature = "Foundation")]
DataReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MobileBroadbandDeviceServiceDataSession, MobileBroadbandDeviceServiceDataReceivedEventArgs>>>(&self, eventhandler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>6640     pub fn DataReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MobileBroadbandDeviceServiceDataSession, MobileBroadbandDeviceServiceDataReceivedEventArgs>>>(&self, eventhandler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
6641         let this = self;
6642         unsafe {
6643             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
6644             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), eventhandler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
6645         }
6646     }
6647     #[cfg(feature = "Foundation")]
RemoveDataReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, eventcookie: Param0) -> ::windows::runtime::Result<()>6648     pub fn RemoveDataReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, eventcookie: Param0) -> ::windows::runtime::Result<()> {
6649         let this = self;
6650         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), eventcookie.into_param().abi()).ok() }
6651     }
6652 }
6653 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandDeviceServiceDataSession {
6654     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandDeviceServiceDataSession;{dad62333-8bcf-4289-8a37-045c2169486a})");
6655 }
6656 unsafe impl ::windows::runtime::Interface for MobileBroadbandDeviceServiceDataSession {
6657     type Vtable = IMobileBroadbandDeviceServiceDataSession_abi;
6658     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3671466803, 35791, 17033, [138, 55, 4, 92, 33, 105, 72, 106]);
6659 }
6660 impl ::windows::runtime::RuntimeName for MobileBroadbandDeviceServiceDataSession {
6661     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandDeviceServiceDataSession";
6662 }
6663 impl ::std::convert::From<MobileBroadbandDeviceServiceDataSession> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandDeviceServiceDataSession) -> Self6664     fn from(value: MobileBroadbandDeviceServiceDataSession) -> Self {
6665         unsafe { ::std::mem::transmute(value) }
6666     }
6667 }
6668 impl ::std::convert::From<&MobileBroadbandDeviceServiceDataSession> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandDeviceServiceDataSession) -> Self6669     fn from(value: &MobileBroadbandDeviceServiceDataSession) -> Self {
6670         ::std::convert::From::from(::std::clone::Clone::clone(value))
6671     }
6672 }
6673 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandDeviceServiceDataSession {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6674     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6675         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6676     }
6677 }
6678 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandDeviceServiceDataSession {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6679     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6680         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6681     }
6682 }
6683 impl ::std::convert::From<MobileBroadbandDeviceServiceDataSession> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandDeviceServiceDataSession) -> Self6684     fn from(value: MobileBroadbandDeviceServiceDataSession) -> Self {
6685         value.0
6686     }
6687 }
6688 impl ::std::convert::From<&MobileBroadbandDeviceServiceDataSession> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandDeviceServiceDataSession) -> Self6689     fn from(value: &MobileBroadbandDeviceServiceDataSession) -> Self {
6690         value.0.clone()
6691     }
6692 }
6693 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandDeviceServiceDataSession {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6694     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6695         ::windows::runtime::Param::Owned(self.0)
6696     }
6697 }
6698 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandDeviceServiceDataSession {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6699     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6700         ::windows::runtime::Param::Borrowed(&self.0)
6701     }
6702 }
6703 unsafe impl ::std::marker::Send for MobileBroadbandDeviceServiceDataSession {}
6704 unsafe impl ::std::marker::Sync for MobileBroadbandDeviceServiceDataSession {}
6705 #[repr(transparent)]
6706 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6707 pub struct MobileBroadbandDeviceServiceInformation(::windows::runtime::IInspectable);
6708 impl MobileBroadbandDeviceServiceInformation {
DeviceServiceId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>6709     pub fn DeviceServiceId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
6710         let this = self;
6711         unsafe {
6712             let mut result__: ::windows::runtime::GUID = ::std::mem::zeroed();
6713             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
6714         }
6715     }
IsDataReadSupported(&self) -> ::windows::runtime::Result<bool>6716     pub fn IsDataReadSupported(&self) -> ::windows::runtime::Result<bool> {
6717         let this = self;
6718         unsafe {
6719             let mut result__: bool = ::std::mem::zeroed();
6720             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
6721         }
6722     }
IsDataWriteSupported(&self) -> ::windows::runtime::Result<bool>6723     pub fn IsDataWriteSupported(&self) -> ::windows::runtime::Result<bool> {
6724         let this = self;
6725         unsafe {
6726             let mut result__: bool = ::std::mem::zeroed();
6727             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
6728         }
6729     }
6730 }
6731 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandDeviceServiceInformation {
6732     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandDeviceServiceInformation;{53d69b5b-c4ed-45f0-803a-d9417a6d9846})");
6733 }
6734 unsafe impl ::windows::runtime::Interface for MobileBroadbandDeviceServiceInformation {
6735     type Vtable = IMobileBroadbandDeviceServiceInformation_abi;
6736     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1406573403, 50413, 17904, [128, 58, 217, 65, 122, 109, 152, 70]);
6737 }
6738 impl ::windows::runtime::RuntimeName for MobileBroadbandDeviceServiceInformation {
6739     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandDeviceServiceInformation";
6740 }
6741 impl ::std::convert::From<MobileBroadbandDeviceServiceInformation> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandDeviceServiceInformation) -> Self6742     fn from(value: MobileBroadbandDeviceServiceInformation) -> Self {
6743         unsafe { ::std::mem::transmute(value) }
6744     }
6745 }
6746 impl ::std::convert::From<&MobileBroadbandDeviceServiceInformation> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandDeviceServiceInformation) -> Self6747     fn from(value: &MobileBroadbandDeviceServiceInformation) -> Self {
6748         ::std::convert::From::from(::std::clone::Clone::clone(value))
6749     }
6750 }
6751 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandDeviceServiceInformation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6752     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6753         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6754     }
6755 }
6756 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandDeviceServiceInformation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6757     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6758         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6759     }
6760 }
6761 impl ::std::convert::From<MobileBroadbandDeviceServiceInformation> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandDeviceServiceInformation) -> Self6762     fn from(value: MobileBroadbandDeviceServiceInformation) -> Self {
6763         value.0
6764     }
6765 }
6766 impl ::std::convert::From<&MobileBroadbandDeviceServiceInformation> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandDeviceServiceInformation) -> Self6767     fn from(value: &MobileBroadbandDeviceServiceInformation) -> Self {
6768         value.0.clone()
6769     }
6770 }
6771 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandDeviceServiceInformation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6772     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6773         ::windows::runtime::Param::Owned(self.0)
6774     }
6775 }
6776 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandDeviceServiceInformation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6777     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6778         ::windows::runtime::Param::Borrowed(&self.0)
6779     }
6780 }
6781 unsafe impl ::std::marker::Send for MobileBroadbandDeviceServiceInformation {}
6782 unsafe impl ::std::marker::Sync for MobileBroadbandDeviceServiceInformation {}
6783 #[repr(transparent)]
6784 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6785 pub struct MobileBroadbandDeviceServiceTriggerDetails(::windows::runtime::IInspectable);
6786 impl MobileBroadbandDeviceServiceTriggerDetails {
DeviceId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>6787     pub fn DeviceId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
6788         let this = self;
6789         unsafe {
6790             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
6791             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
6792         }
6793     }
DeviceServiceId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID>6794     pub fn DeviceServiceId(&self) -> ::windows::runtime::Result<::windows::runtime::GUID> {
6795         let this = self;
6796         unsafe {
6797             let mut result__: ::windows::runtime::GUID = ::std::mem::zeroed();
6798             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::GUID>(result__)
6799         }
6800     }
6801     #[cfg(feature = "Storage_Streams")]
ReceivedData(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IBuffer>6802     pub fn ReceivedData(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IBuffer> {
6803         let this = self;
6804         unsafe {
6805             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6806             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Storage::Streams::IBuffer>(result__)
6807         }
6808     }
6809 }
6810 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandDeviceServiceTriggerDetails {
6811     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandDeviceServiceTriggerDetails;{4a055b70-b9ae-4458-9241-a6a5fbf18a0c})");
6812 }
6813 unsafe impl ::windows::runtime::Interface for MobileBroadbandDeviceServiceTriggerDetails {
6814     type Vtable = IMobileBroadbandDeviceServiceTriggerDetails_abi;
6815     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1241865072, 47534, 17496, [146, 65, 166, 165, 251, 241, 138, 12]);
6816 }
6817 impl ::windows::runtime::RuntimeName for MobileBroadbandDeviceServiceTriggerDetails {
6818     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandDeviceServiceTriggerDetails";
6819 }
6820 impl ::std::convert::From<MobileBroadbandDeviceServiceTriggerDetails> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandDeviceServiceTriggerDetails) -> Self6821     fn from(value: MobileBroadbandDeviceServiceTriggerDetails) -> Self {
6822         unsafe { ::std::mem::transmute(value) }
6823     }
6824 }
6825 impl ::std::convert::From<&MobileBroadbandDeviceServiceTriggerDetails> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandDeviceServiceTriggerDetails) -> Self6826     fn from(value: &MobileBroadbandDeviceServiceTriggerDetails) -> Self {
6827         ::std::convert::From::from(::std::clone::Clone::clone(value))
6828     }
6829 }
6830 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandDeviceServiceTriggerDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6831     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6832         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
6833     }
6834 }
6835 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandDeviceServiceTriggerDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>6836     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
6837         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
6838     }
6839 }
6840 impl ::std::convert::From<MobileBroadbandDeviceServiceTriggerDetails> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandDeviceServiceTriggerDetails) -> Self6841     fn from(value: MobileBroadbandDeviceServiceTriggerDetails) -> Self {
6842         value.0
6843     }
6844 }
6845 impl ::std::convert::From<&MobileBroadbandDeviceServiceTriggerDetails> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandDeviceServiceTriggerDetails) -> Self6846     fn from(value: &MobileBroadbandDeviceServiceTriggerDetails) -> Self {
6847         value.0.clone()
6848     }
6849 }
6850 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandDeviceServiceTriggerDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6851     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6852         ::windows::runtime::Param::Owned(self.0)
6853     }
6854 }
6855 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandDeviceServiceTriggerDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>6856     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
6857         ::windows::runtime::Param::Borrowed(&self.0)
6858     }
6859 }
6860 unsafe impl ::std::marker::Send for MobileBroadbandDeviceServiceTriggerDetails {}
6861 unsafe impl ::std::marker::Sync for MobileBroadbandDeviceServiceTriggerDetails {}
6862 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
6863 #[repr(transparent)]
6864 pub struct MobileBroadbandDeviceType(pub i32);
6865 impl MobileBroadbandDeviceType {
6866     pub const Unknown: MobileBroadbandDeviceType = MobileBroadbandDeviceType(0i32);
6867     pub const Embedded: MobileBroadbandDeviceType = MobileBroadbandDeviceType(1i32);
6868     pub const Removable: MobileBroadbandDeviceType = MobileBroadbandDeviceType(2i32);
6869     pub const Remote: MobileBroadbandDeviceType = MobileBroadbandDeviceType(3i32);
6870 }
6871 impl ::std::convert::From<i32> for MobileBroadbandDeviceType {
from(value: i32) -> Self6872     fn from(value: i32) -> Self {
6873         Self(value)
6874     }
6875 }
6876 unsafe impl ::windows::runtime::Abi for MobileBroadbandDeviceType {
6877     type Abi = Self;
6878     type DefaultType = Self;
6879 }
6880 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandDeviceType {
6881     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Networking.NetworkOperators.MobileBroadbandDeviceType;i4)");
6882 }
6883 #[repr(transparent)]
6884 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
6885 pub struct MobileBroadbandModem(::windows::runtime::IInspectable);
6886 impl MobileBroadbandModem {
CurrentAccount(&self) -> ::windows::runtime::Result<MobileBroadbandAccount>6887     pub fn CurrentAccount(&self) -> ::windows::runtime::Result<MobileBroadbandAccount> {
6888         let this = self;
6889         unsafe {
6890             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6891             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MobileBroadbandAccount>(result__)
6892         }
6893     }
DeviceInformation(&self) -> ::windows::runtime::Result<MobileBroadbandDeviceInformation>6894     pub fn DeviceInformation(&self) -> ::windows::runtime::Result<MobileBroadbandDeviceInformation> {
6895         let this = self;
6896         unsafe {
6897             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6898             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MobileBroadbandDeviceInformation>(result__)
6899         }
6900     }
MaxDeviceServiceCommandSizeInBytes(&self) -> ::windows::runtime::Result<u32>6901     pub fn MaxDeviceServiceCommandSizeInBytes(&self) -> ::windows::runtime::Result<u32> {
6902         let this = self;
6903         unsafe {
6904             let mut result__: u32 = ::std::mem::zeroed();
6905             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
6906         }
6907     }
MaxDeviceServiceDataSizeInBytes(&self) -> ::windows::runtime::Result<u32>6908     pub fn MaxDeviceServiceDataSizeInBytes(&self) -> ::windows::runtime::Result<u32> {
6909         let this = self;
6910         unsafe {
6911             let mut result__: u32 = ::std::mem::zeroed();
6912             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
6913         }
6914     }
6915     #[cfg(feature = "Foundation_Collections")]
DeviceServices(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandDeviceServiceInformation>>6916     pub fn DeviceServices(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandDeviceServiceInformation>> {
6917         let this = self;
6918         unsafe {
6919             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6920             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<MobileBroadbandDeviceServiceInformation>>(result__)
6921         }
6922     }
GetDeviceService<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, deviceserviceid: Param0) -> ::windows::runtime::Result<MobileBroadbandDeviceService>6923     pub fn GetDeviceService<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, deviceserviceid: Param0) -> ::windows::runtime::Result<MobileBroadbandDeviceService> {
6924         let this = self;
6925         unsafe {
6926             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6927             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), deviceserviceid.into_param().abi(), &mut result__).from_abi::<MobileBroadbandDeviceService>(result__)
6928         }
6929     }
IsResetSupported(&self) -> ::windows::runtime::Result<bool>6930     pub fn IsResetSupported(&self) -> ::windows::runtime::Result<bool> {
6931         let this = self;
6932         unsafe {
6933             let mut result__: bool = ::std::mem::zeroed();
6934             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
6935         }
6936     }
6937     #[cfg(feature = "Foundation")]
ResetAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>6938     pub fn ResetAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> {
6939         let this = self;
6940         unsafe {
6941             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6942             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__)
6943         }
6944     }
6945     #[cfg(feature = "Foundation")]
GetCurrentConfigurationAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<MobileBroadbandModemConfiguration>>6946     pub fn GetCurrentConfigurationAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<MobileBroadbandModemConfiguration>> {
6947         let this = self;
6948         unsafe {
6949             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6950             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<MobileBroadbandModemConfiguration>>(result__)
6951         }
6952     }
CurrentNetwork(&self) -> ::windows::runtime::Result<MobileBroadbandNetwork>6953     pub fn CurrentNetwork(&self) -> ::windows::runtime::Result<MobileBroadbandNetwork> {
6954         let this = self;
6955         unsafe {
6956             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6957             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MobileBroadbandNetwork>(result__)
6958         }
6959     }
GetDeviceSelector() -> ::windows::runtime::Result<::windows::runtime::HSTRING>6960     pub fn GetDeviceSelector() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
6961         Self::IMobileBroadbandModemStatics(|this| unsafe {
6962             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
6963             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
6964         })
6965     }
FromId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(deviceid: Param0) -> ::windows::runtime::Result<MobileBroadbandModem>6966     pub fn FromId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(deviceid: Param0) -> ::windows::runtime::Result<MobileBroadbandModem> {
6967         Self::IMobileBroadbandModemStatics(|this| unsafe {
6968             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6969             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), deviceid.into_param().abi(), &mut result__).from_abi::<MobileBroadbandModem>(result__)
6970         })
6971     }
GetDefault() -> ::windows::runtime::Result<MobileBroadbandModem>6972     pub fn GetDefault() -> ::windows::runtime::Result<MobileBroadbandModem> {
6973         Self::IMobileBroadbandModemStatics(|this| unsafe {
6974             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6975             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MobileBroadbandModem>(result__)
6976         })
6977     }
6978     #[cfg(feature = "Foundation")]
GetIsPassthroughEnabledAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<bool>>6979     pub fn GetIsPassthroughEnabledAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<bool>> {
6980         let this = &::windows::runtime::Interface::cast::<IMobileBroadbandModem2>(self)?;
6981         unsafe {
6982             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6983             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<bool>>(result__)
6984         }
6985     }
6986     #[cfg(feature = "Foundation")]
SetIsPassthroughEnabledAsync(&self, value: bool) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<MobileBroadbandModemStatus>>6987     pub fn SetIsPassthroughEnabledAsync(&self, value: bool) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<MobileBroadbandModemStatus>> {
6988         let this = &::windows::runtime::Interface::cast::<IMobileBroadbandModem2>(self)?;
6989         unsafe {
6990             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6991             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value, &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<MobileBroadbandModemStatus>>(result__)
6992         }
6993     }
6994     #[cfg(feature = "Foundation")]
TryGetPcoAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<MobileBroadbandPco>>6995     pub fn TryGetPcoAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<MobileBroadbandPco>> {
6996         let this = &::windows::runtime::Interface::cast::<IMobileBroadbandModem3>(self)?;
6997         unsafe {
6998             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
6999             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<MobileBroadbandPco>>(result__)
7000         }
7001     }
IsInEmergencyCallMode(&self) -> ::windows::runtime::Result<bool>7002     pub fn IsInEmergencyCallMode(&self) -> ::windows::runtime::Result<bool> {
7003         let this = &::windows::runtime::Interface::cast::<IMobileBroadbandModem3>(self)?;
7004         unsafe {
7005             let mut result__: bool = ::std::mem::zeroed();
7006             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
7007         }
7008     }
7009     #[cfg(feature = "Foundation")]
IsInEmergencyCallModeChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MobileBroadbandModem, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>7010     pub fn IsInEmergencyCallModeChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MobileBroadbandModem, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
7011         let this = &::windows::runtime::Interface::cast::<IMobileBroadbandModem3>(self)?;
7012         unsafe {
7013             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
7014             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
7015         }
7016     }
7017     #[cfg(feature = "Foundation")]
RemoveIsInEmergencyCallModeChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>7018     pub fn RemoveIsInEmergencyCallModeChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
7019         let this = &::windows::runtime::Interface::cast::<IMobileBroadbandModem3>(self)?;
7020         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
7021     }
IMobileBroadbandModemStatics<R, F: FnOnce(&IMobileBroadbandModemStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>7022     pub fn IMobileBroadbandModemStatics<R, F: FnOnce(&IMobileBroadbandModemStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
7023         static mut SHARED: ::windows::runtime::FactoryCache<MobileBroadbandModem, IMobileBroadbandModemStatics> = ::windows::runtime::FactoryCache::new();
7024         unsafe { SHARED.call(callback) }
7025     }
7026 }
7027 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandModem {
7028     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandModem;{d0356912-e9f9-4f67-a03d-43189a316bf1})");
7029 }
7030 unsafe impl ::windows::runtime::Interface for MobileBroadbandModem {
7031     type Vtable = IMobileBroadbandModem_abi;
7032     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3493161234, 59897, 20327, [160, 61, 67, 24, 154, 49, 107, 241]);
7033 }
7034 impl ::windows::runtime::RuntimeName for MobileBroadbandModem {
7035     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandModem";
7036 }
7037 impl ::std::convert::From<MobileBroadbandModem> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandModem) -> Self7038     fn from(value: MobileBroadbandModem) -> Self {
7039         unsafe { ::std::mem::transmute(value) }
7040     }
7041 }
7042 impl ::std::convert::From<&MobileBroadbandModem> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandModem) -> Self7043     fn from(value: &MobileBroadbandModem) -> Self {
7044         ::std::convert::From::from(::std::clone::Clone::clone(value))
7045     }
7046 }
7047 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandModem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7048     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7049         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7050     }
7051 }
7052 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandModem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7053     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7054         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7055     }
7056 }
7057 impl ::std::convert::From<MobileBroadbandModem> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandModem) -> Self7058     fn from(value: MobileBroadbandModem) -> Self {
7059         value.0
7060     }
7061 }
7062 impl ::std::convert::From<&MobileBroadbandModem> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandModem) -> Self7063     fn from(value: &MobileBroadbandModem) -> Self {
7064         value.0.clone()
7065     }
7066 }
7067 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandModem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7068     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7069         ::windows::runtime::Param::Owned(self.0)
7070     }
7071 }
7072 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandModem {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7073     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7074         ::windows::runtime::Param::Borrowed(&self.0)
7075     }
7076 }
7077 unsafe impl ::std::marker::Send for MobileBroadbandModem {}
7078 unsafe impl ::std::marker::Sync for MobileBroadbandModem {}
7079 #[repr(transparent)]
7080 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7081 pub struct MobileBroadbandModemConfiguration(::windows::runtime::IInspectable);
7082 impl MobileBroadbandModemConfiguration {
Uicc(&self) -> ::windows::runtime::Result<MobileBroadbandUicc>7083     pub fn Uicc(&self) -> ::windows::runtime::Result<MobileBroadbandUicc> {
7084         let this = self;
7085         unsafe {
7086             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7087             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MobileBroadbandUicc>(result__)
7088         }
7089     }
HomeProviderId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7090     pub fn HomeProviderId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7091         let this = self;
7092         unsafe {
7093             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7094             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7095         }
7096     }
HomeProviderName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7097     pub fn HomeProviderName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7098         let this = self;
7099         unsafe {
7100             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7101             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7102         }
7103     }
SarManager(&self) -> ::windows::runtime::Result<MobileBroadbandSarManager>7104     pub fn SarManager(&self) -> ::windows::runtime::Result<MobileBroadbandSarManager> {
7105         let this = &::windows::runtime::Interface::cast::<IMobileBroadbandModemConfiguration2>(self)?;
7106         unsafe {
7107             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7108             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MobileBroadbandSarManager>(result__)
7109         }
7110     }
7111 }
7112 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandModemConfiguration {
7113     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandModemConfiguration;{fce035a3-d6cd-4320-b982-be9d3ec7890f})");
7114 }
7115 unsafe impl ::windows::runtime::Interface for MobileBroadbandModemConfiguration {
7116     type Vtable = IMobileBroadbandModemConfiguration_abi;
7117     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4242552227, 54989, 17184, [185, 130, 190, 157, 62, 199, 137, 15]);
7118 }
7119 impl ::windows::runtime::RuntimeName for MobileBroadbandModemConfiguration {
7120     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandModemConfiguration";
7121 }
7122 impl ::std::convert::From<MobileBroadbandModemConfiguration> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandModemConfiguration) -> Self7123     fn from(value: MobileBroadbandModemConfiguration) -> Self {
7124         unsafe { ::std::mem::transmute(value) }
7125     }
7126 }
7127 impl ::std::convert::From<&MobileBroadbandModemConfiguration> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandModemConfiguration) -> Self7128     fn from(value: &MobileBroadbandModemConfiguration) -> Self {
7129         ::std::convert::From::from(::std::clone::Clone::clone(value))
7130     }
7131 }
7132 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandModemConfiguration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7133     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7134         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7135     }
7136 }
7137 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandModemConfiguration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7138     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7139         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7140     }
7141 }
7142 impl ::std::convert::From<MobileBroadbandModemConfiguration> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandModemConfiguration) -> Self7143     fn from(value: MobileBroadbandModemConfiguration) -> Self {
7144         value.0
7145     }
7146 }
7147 impl ::std::convert::From<&MobileBroadbandModemConfiguration> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandModemConfiguration) -> Self7148     fn from(value: &MobileBroadbandModemConfiguration) -> Self {
7149         value.0.clone()
7150     }
7151 }
7152 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandModemConfiguration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7153     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7154         ::windows::runtime::Param::Owned(self.0)
7155     }
7156 }
7157 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandModemConfiguration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7158     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7159         ::windows::runtime::Param::Borrowed(&self.0)
7160     }
7161 }
7162 #[repr(transparent)]
7163 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7164 pub struct MobileBroadbandModemIsolation(::windows::runtime::IInspectable);
7165 impl MobileBroadbandModemIsolation {
AddAllowedHost<'a, Param0: ::windows::runtime::IntoParam<'a, super::HostName>>(&self, host: Param0) -> ::windows::runtime::Result<()>7166     pub fn AddAllowedHost<'a, Param0: ::windows::runtime::IntoParam<'a, super::HostName>>(&self, host: Param0) -> ::windows::runtime::Result<()> {
7167         let this = self;
7168         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), host.into_param().abi()).ok() }
7169     }
AddAllowedHostRange<'a, Param0: ::windows::runtime::IntoParam<'a, super::HostName>, Param1: ::windows::runtime::IntoParam<'a, super::HostName>>(&self, first: Param0, last: Param1) -> ::windows::runtime::Result<()>7170     pub fn AddAllowedHostRange<'a, Param0: ::windows::runtime::IntoParam<'a, super::HostName>, Param1: ::windows::runtime::IntoParam<'a, super::HostName>>(&self, first: Param0, last: Param1) -> ::windows::runtime::Result<()> {
7171         let this = self;
7172         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), first.into_param().abi(), last.into_param().abi()).ok() }
7173     }
7174     #[cfg(feature = "Foundation")]
ApplyConfigurationAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>7175     pub fn ApplyConfigurationAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> {
7176         let this = self;
7177         unsafe {
7178             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7179             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__)
7180         }
7181     }
7182     #[cfg(feature = "Foundation")]
ClearConfigurationAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>7183     pub fn ClearConfigurationAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> {
7184         let this = self;
7185         unsafe {
7186             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7187             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__)
7188         }
7189     }
Create<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(modemdeviceid: Param0, rulegroupid: Param1) -> ::windows::runtime::Result<MobileBroadbandModemIsolation>7190     pub fn Create<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(modemdeviceid: Param0, rulegroupid: Param1) -> ::windows::runtime::Result<MobileBroadbandModemIsolation> {
7191         Self::IMobileBroadbandModemIsolationFactory(|this| unsafe {
7192             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7193             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), modemdeviceid.into_param().abi(), rulegroupid.into_param().abi(), &mut result__).from_abi::<MobileBroadbandModemIsolation>(result__)
7194         })
7195     }
IMobileBroadbandModemIsolationFactory<R, F: FnOnce(&IMobileBroadbandModemIsolationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>7196     pub fn IMobileBroadbandModemIsolationFactory<R, F: FnOnce(&IMobileBroadbandModemIsolationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
7197         static mut SHARED: ::windows::runtime::FactoryCache<MobileBroadbandModemIsolation, IMobileBroadbandModemIsolationFactory> = ::windows::runtime::FactoryCache::new();
7198         unsafe { SHARED.call(callback) }
7199     }
7200 }
7201 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandModemIsolation {
7202     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandModemIsolation;{b5618fec-e661-4330-9bb4-3480212ec354})");
7203 }
7204 unsafe impl ::windows::runtime::Interface for MobileBroadbandModemIsolation {
7205     type Vtable = IMobileBroadbandModemIsolation_abi;
7206     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3043069932, 58977, 17200, [155, 180, 52, 128, 33, 46, 195, 84]);
7207 }
7208 impl ::windows::runtime::RuntimeName for MobileBroadbandModemIsolation {
7209     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandModemIsolation";
7210 }
7211 impl ::std::convert::From<MobileBroadbandModemIsolation> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandModemIsolation) -> Self7212     fn from(value: MobileBroadbandModemIsolation) -> Self {
7213         unsafe { ::std::mem::transmute(value) }
7214     }
7215 }
7216 impl ::std::convert::From<&MobileBroadbandModemIsolation> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandModemIsolation) -> Self7217     fn from(value: &MobileBroadbandModemIsolation) -> Self {
7218         ::std::convert::From::from(::std::clone::Clone::clone(value))
7219     }
7220 }
7221 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandModemIsolation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7222     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7223         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7224     }
7225 }
7226 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandModemIsolation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7227     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7228         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7229     }
7230 }
7231 impl ::std::convert::From<MobileBroadbandModemIsolation> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandModemIsolation) -> Self7232     fn from(value: MobileBroadbandModemIsolation) -> Self {
7233         value.0
7234     }
7235 }
7236 impl ::std::convert::From<&MobileBroadbandModemIsolation> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandModemIsolation) -> Self7237     fn from(value: &MobileBroadbandModemIsolation) -> Self {
7238         value.0.clone()
7239     }
7240 }
7241 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandModemIsolation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7242     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7243         ::windows::runtime::Param::Owned(self.0)
7244     }
7245 }
7246 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandModemIsolation {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7247     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7248         ::windows::runtime::Param::Borrowed(&self.0)
7249     }
7250 }
7251 unsafe impl ::std::marker::Send for MobileBroadbandModemIsolation {}
7252 unsafe impl ::std::marker::Sync for MobileBroadbandModemIsolation {}
7253 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7254 #[repr(transparent)]
7255 pub struct MobileBroadbandModemStatus(pub i32);
7256 impl MobileBroadbandModemStatus {
7257     pub const Success: MobileBroadbandModemStatus = MobileBroadbandModemStatus(0i32);
7258     pub const OtherFailure: MobileBroadbandModemStatus = MobileBroadbandModemStatus(1i32);
7259     pub const Busy: MobileBroadbandModemStatus = MobileBroadbandModemStatus(2i32);
7260     pub const NoDeviceSupport: MobileBroadbandModemStatus = MobileBroadbandModemStatus(3i32);
7261 }
7262 impl ::std::convert::From<i32> for MobileBroadbandModemStatus {
from(value: i32) -> Self7263     fn from(value: i32) -> Self {
7264         Self(value)
7265     }
7266 }
7267 unsafe impl ::windows::runtime::Abi for MobileBroadbandModemStatus {
7268     type Abi = Self;
7269     type DefaultType = Self;
7270 }
7271 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandModemStatus {
7272     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Networking.NetworkOperators.MobileBroadbandModemStatus;i4)");
7273 }
7274 #[repr(transparent)]
7275 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7276 pub struct MobileBroadbandNetwork(::windows::runtime::IInspectable);
7277 impl MobileBroadbandNetwork {
7278     #[cfg(feature = "Networking_Connectivity")]
NetworkAdapter(&self) -> ::windows::runtime::Result<super::Connectivity::NetworkAdapter>7279     pub fn NetworkAdapter(&self) -> ::windows::runtime::Result<super::Connectivity::NetworkAdapter> {
7280         let this = self;
7281         unsafe {
7282             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7283             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Connectivity::NetworkAdapter>(result__)
7284         }
7285     }
NetworkRegistrationState(&self) -> ::windows::runtime::Result<NetworkRegistrationState>7286     pub fn NetworkRegistrationState(&self) -> ::windows::runtime::Result<NetworkRegistrationState> {
7287         let this = self;
7288         unsafe {
7289             let mut result__: NetworkRegistrationState = ::std::mem::zeroed();
7290             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<NetworkRegistrationState>(result__)
7291         }
7292     }
RegistrationNetworkError(&self) -> ::windows::runtime::Result<u32>7293     pub fn RegistrationNetworkError(&self) -> ::windows::runtime::Result<u32> {
7294         let this = self;
7295         unsafe {
7296             let mut result__: u32 = ::std::mem::zeroed();
7297             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
7298         }
7299     }
PacketAttachNetworkError(&self) -> ::windows::runtime::Result<u32>7300     pub fn PacketAttachNetworkError(&self) -> ::windows::runtime::Result<u32> {
7301         let this = self;
7302         unsafe {
7303             let mut result__: u32 = ::std::mem::zeroed();
7304             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
7305         }
7306     }
ActivationNetworkError(&self) -> ::windows::runtime::Result<u32>7307     pub fn ActivationNetworkError(&self) -> ::windows::runtime::Result<u32> {
7308         let this = self;
7309         unsafe {
7310             let mut result__: u32 = ::std::mem::zeroed();
7311             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
7312         }
7313     }
AccessPointName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7314     pub fn AccessPointName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7315         let this = self;
7316         unsafe {
7317             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7318             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7319         }
7320     }
RegisteredDataClass(&self) -> ::windows::runtime::Result<DataClasses>7321     pub fn RegisteredDataClass(&self) -> ::windows::runtime::Result<DataClasses> {
7322         let this = self;
7323         unsafe {
7324             let mut result__: DataClasses = ::std::mem::zeroed();
7325             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<DataClasses>(result__)
7326         }
7327     }
RegisteredProviderId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7328     pub fn RegisteredProviderId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7329         let this = self;
7330         unsafe {
7331             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7332             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7333         }
7334     }
RegisteredProviderName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7335     pub fn RegisteredProviderName(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7336         let this = self;
7337         unsafe {
7338             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7339             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7340         }
7341     }
ShowConnectionUI(&self) -> ::windows::runtime::Result<()>7342     pub fn ShowConnectionUI(&self) -> ::windows::runtime::Result<()> {
7343         let this = self;
7344         unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this)).ok() }
7345     }
7346     #[cfg(feature = "Foundation")]
GetVoiceCallSupportAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<bool>>7347     pub fn GetVoiceCallSupportAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<bool>> {
7348         let this = &::windows::runtime::Interface::cast::<IMobileBroadbandNetwork2>(self)?;
7349         unsafe {
7350             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7351             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<bool>>(result__)
7352         }
7353     }
7354     #[cfg(feature = "Foundation_Collections")]
RegistrationUiccApps(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandUiccApp>>7355     pub fn RegistrationUiccApps(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandUiccApp>> {
7356         let this = &::windows::runtime::Interface::cast::<IMobileBroadbandNetwork2>(self)?;
7357         unsafe {
7358             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7359             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<MobileBroadbandUiccApp>>(result__)
7360         }
7361     }
7362     #[cfg(feature = "Foundation")]
GetCellsInfoAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<MobileBroadbandCellsInfo>>7363     pub fn GetCellsInfoAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<MobileBroadbandCellsInfo>> {
7364         let this = &::windows::runtime::Interface::cast::<IMobileBroadbandNetwork3>(self)?;
7365         unsafe {
7366             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7367             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<MobileBroadbandCellsInfo>>(result__)
7368         }
7369     }
7370 }
7371 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandNetwork {
7372     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandNetwork;{cb63928c-0309-4cb6-a8c1-6a5a3c8e1ff6})");
7373 }
7374 unsafe impl ::windows::runtime::Interface for MobileBroadbandNetwork {
7375     type Vtable = IMobileBroadbandNetwork_abi;
7376     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3412300428, 777, 19638, [168, 193, 106, 90, 60, 142, 31, 246]);
7377 }
7378 impl ::windows::runtime::RuntimeName for MobileBroadbandNetwork {
7379     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandNetwork";
7380 }
7381 impl ::std::convert::From<MobileBroadbandNetwork> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandNetwork) -> Self7382     fn from(value: MobileBroadbandNetwork) -> Self {
7383         unsafe { ::std::mem::transmute(value) }
7384     }
7385 }
7386 impl ::std::convert::From<&MobileBroadbandNetwork> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandNetwork) -> Self7387     fn from(value: &MobileBroadbandNetwork) -> Self {
7388         ::std::convert::From::from(::std::clone::Clone::clone(value))
7389     }
7390 }
7391 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandNetwork {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7392     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7393         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7394     }
7395 }
7396 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandNetwork {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7397     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7398         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7399     }
7400 }
7401 impl ::std::convert::From<MobileBroadbandNetwork> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandNetwork) -> Self7402     fn from(value: MobileBroadbandNetwork) -> Self {
7403         value.0
7404     }
7405 }
7406 impl ::std::convert::From<&MobileBroadbandNetwork> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandNetwork) -> Self7407     fn from(value: &MobileBroadbandNetwork) -> Self {
7408         value.0.clone()
7409     }
7410 }
7411 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandNetwork {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7412     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7413         ::windows::runtime::Param::Owned(self.0)
7414     }
7415 }
7416 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandNetwork {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7417     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7418         ::windows::runtime::Param::Borrowed(&self.0)
7419     }
7420 }
7421 #[repr(transparent)]
7422 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7423 pub struct MobileBroadbandNetworkRegistrationStateChange(::windows::runtime::IInspectable);
7424 impl MobileBroadbandNetworkRegistrationStateChange {
DeviceId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7425     pub fn DeviceId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7426         let this = self;
7427         unsafe {
7428             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7429             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7430         }
7431     }
Network(&self) -> ::windows::runtime::Result<MobileBroadbandNetwork>7432     pub fn Network(&self) -> ::windows::runtime::Result<MobileBroadbandNetwork> {
7433         let this = self;
7434         unsafe {
7435             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7436             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MobileBroadbandNetwork>(result__)
7437         }
7438     }
7439 }
7440 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandNetworkRegistrationStateChange {
7441     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandNetworkRegistrationStateChange;{beaf94e1-960f-49b4-a08d-7d85e968c7ec})");
7442 }
7443 unsafe impl ::windows::runtime::Interface for MobileBroadbandNetworkRegistrationStateChange {
7444     type Vtable = IMobileBroadbandNetworkRegistrationStateChange_abi;
7445     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3199177953, 38415, 18868, [160, 141, 125, 133, 233, 104, 199, 236]);
7446 }
7447 impl ::windows::runtime::RuntimeName for MobileBroadbandNetworkRegistrationStateChange {
7448     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandNetworkRegistrationStateChange";
7449 }
7450 impl ::std::convert::From<MobileBroadbandNetworkRegistrationStateChange> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandNetworkRegistrationStateChange) -> Self7451     fn from(value: MobileBroadbandNetworkRegistrationStateChange) -> Self {
7452         unsafe { ::std::mem::transmute(value) }
7453     }
7454 }
7455 impl ::std::convert::From<&MobileBroadbandNetworkRegistrationStateChange> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandNetworkRegistrationStateChange) -> Self7456     fn from(value: &MobileBroadbandNetworkRegistrationStateChange) -> Self {
7457         ::std::convert::From::from(::std::clone::Clone::clone(value))
7458     }
7459 }
7460 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandNetworkRegistrationStateChange {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7461     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7462         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7463     }
7464 }
7465 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandNetworkRegistrationStateChange {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7466     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7467         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7468     }
7469 }
7470 impl ::std::convert::From<MobileBroadbandNetworkRegistrationStateChange> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandNetworkRegistrationStateChange) -> Self7471     fn from(value: MobileBroadbandNetworkRegistrationStateChange) -> Self {
7472         value.0
7473     }
7474 }
7475 impl ::std::convert::From<&MobileBroadbandNetworkRegistrationStateChange> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandNetworkRegistrationStateChange) -> Self7476     fn from(value: &MobileBroadbandNetworkRegistrationStateChange) -> Self {
7477         value.0.clone()
7478     }
7479 }
7480 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandNetworkRegistrationStateChange {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7481     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7482         ::windows::runtime::Param::Owned(self.0)
7483     }
7484 }
7485 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandNetworkRegistrationStateChange {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7486     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7487         ::windows::runtime::Param::Borrowed(&self.0)
7488     }
7489 }
7490 unsafe impl ::std::marker::Send for MobileBroadbandNetworkRegistrationStateChange {}
7491 unsafe impl ::std::marker::Sync for MobileBroadbandNetworkRegistrationStateChange {}
7492 #[repr(transparent)]
7493 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7494 pub struct MobileBroadbandNetworkRegistrationStateChangeTriggerDetails(::windows::runtime::IInspectable);
7495 impl MobileBroadbandNetworkRegistrationStateChangeTriggerDetails {
7496     #[cfg(feature = "Foundation_Collections")]
NetworkRegistrationStateChanges(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandNetworkRegistrationStateChange>>7497     pub fn NetworkRegistrationStateChanges(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandNetworkRegistrationStateChange>> {
7498         let this = self;
7499         unsafe {
7500             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7501             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<MobileBroadbandNetworkRegistrationStateChange>>(result__)
7502         }
7503     }
7504 }
7505 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandNetworkRegistrationStateChangeTriggerDetails {
7506     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandNetworkRegistrationStateChangeTriggerDetails;{89135cff-28b8-46aa-b137-1c4b0f21edfe})");
7507 }
7508 unsafe impl ::windows::runtime::Interface for MobileBroadbandNetworkRegistrationStateChangeTriggerDetails {
7509     type Vtable = IMobileBroadbandNetworkRegistrationStateChangeTriggerDetails_abi;
7510     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2299747583, 10424, 18090, [177, 55, 28, 75, 15, 33, 237, 254]);
7511 }
7512 impl ::windows::runtime::RuntimeName for MobileBroadbandNetworkRegistrationStateChangeTriggerDetails {
7513     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandNetworkRegistrationStateChangeTriggerDetails";
7514 }
7515 impl ::std::convert::From<MobileBroadbandNetworkRegistrationStateChangeTriggerDetails> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandNetworkRegistrationStateChangeTriggerDetails) -> Self7516     fn from(value: MobileBroadbandNetworkRegistrationStateChangeTriggerDetails) -> Self {
7517         unsafe { ::std::mem::transmute(value) }
7518     }
7519 }
7520 impl ::std::convert::From<&MobileBroadbandNetworkRegistrationStateChangeTriggerDetails> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandNetworkRegistrationStateChangeTriggerDetails) -> Self7521     fn from(value: &MobileBroadbandNetworkRegistrationStateChangeTriggerDetails) -> Self {
7522         ::std::convert::From::from(::std::clone::Clone::clone(value))
7523     }
7524 }
7525 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandNetworkRegistrationStateChangeTriggerDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7526     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7527         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7528     }
7529 }
7530 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandNetworkRegistrationStateChangeTriggerDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7531     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7532         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7533     }
7534 }
7535 impl ::std::convert::From<MobileBroadbandNetworkRegistrationStateChangeTriggerDetails> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandNetworkRegistrationStateChangeTriggerDetails) -> Self7536     fn from(value: MobileBroadbandNetworkRegistrationStateChangeTriggerDetails) -> Self {
7537         value.0
7538     }
7539 }
7540 impl ::std::convert::From<&MobileBroadbandNetworkRegistrationStateChangeTriggerDetails> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandNetworkRegistrationStateChangeTriggerDetails) -> Self7541     fn from(value: &MobileBroadbandNetworkRegistrationStateChangeTriggerDetails) -> Self {
7542         value.0.clone()
7543     }
7544 }
7545 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandNetworkRegistrationStateChangeTriggerDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7546     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7547         ::windows::runtime::Param::Owned(self.0)
7548     }
7549 }
7550 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandNetworkRegistrationStateChangeTriggerDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7551     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7552         ::windows::runtime::Param::Borrowed(&self.0)
7553     }
7554 }
7555 unsafe impl ::std::marker::Send for MobileBroadbandNetworkRegistrationStateChangeTriggerDetails {}
7556 unsafe impl ::std::marker::Sync for MobileBroadbandNetworkRegistrationStateChangeTriggerDetails {}
7557 #[repr(transparent)]
7558 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7559 pub struct MobileBroadbandPco(::windows::runtime::IInspectable);
7560 impl MobileBroadbandPco {
7561     #[cfg(feature = "Storage_Streams")]
Data(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IBuffer>7562     pub fn Data(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IBuffer> {
7563         let this = self;
7564         unsafe {
7565             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7566             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Storage::Streams::IBuffer>(result__)
7567         }
7568     }
IsComplete(&self) -> ::windows::runtime::Result<bool>7569     pub fn IsComplete(&self) -> ::windows::runtime::Result<bool> {
7570         let this = self;
7571         unsafe {
7572             let mut result__: bool = ::std::mem::zeroed();
7573             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
7574         }
7575     }
DeviceId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7576     pub fn DeviceId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7577         let this = self;
7578         unsafe {
7579             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7580             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7581         }
7582     }
7583 }
7584 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandPco {
7585     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandPco;{d4e4fcbe-e3a3-43c5-a87b-6c86d229d7fa})");
7586 }
7587 unsafe impl ::windows::runtime::Interface for MobileBroadbandPco {
7588     type Vtable = IMobileBroadbandPco_abi;
7589     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3571776702, 58275, 17349, [168, 123, 108, 134, 210, 41, 215, 250]);
7590 }
7591 impl ::windows::runtime::RuntimeName for MobileBroadbandPco {
7592     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandPco";
7593 }
7594 impl ::std::convert::From<MobileBroadbandPco> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandPco) -> Self7595     fn from(value: MobileBroadbandPco) -> Self {
7596         unsafe { ::std::mem::transmute(value) }
7597     }
7598 }
7599 impl ::std::convert::From<&MobileBroadbandPco> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandPco) -> Self7600     fn from(value: &MobileBroadbandPco) -> Self {
7601         ::std::convert::From::from(::std::clone::Clone::clone(value))
7602     }
7603 }
7604 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandPco {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7605     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7606         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7607     }
7608 }
7609 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandPco {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7610     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7611         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7612     }
7613 }
7614 impl ::std::convert::From<MobileBroadbandPco> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandPco) -> Self7615     fn from(value: MobileBroadbandPco) -> Self {
7616         value.0
7617     }
7618 }
7619 impl ::std::convert::From<&MobileBroadbandPco> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandPco) -> Self7620     fn from(value: &MobileBroadbandPco) -> Self {
7621         value.0.clone()
7622     }
7623 }
7624 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandPco {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7625     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7626         ::windows::runtime::Param::Owned(self.0)
7627     }
7628 }
7629 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandPco {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7630     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7631         ::windows::runtime::Param::Borrowed(&self.0)
7632     }
7633 }
7634 unsafe impl ::std::marker::Send for MobileBroadbandPco {}
7635 unsafe impl ::std::marker::Sync for MobileBroadbandPco {}
7636 #[repr(transparent)]
7637 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7638 pub struct MobileBroadbandPcoDataChangeTriggerDetails(::windows::runtime::IInspectable);
7639 impl MobileBroadbandPcoDataChangeTriggerDetails {
UpdatedData(&self) -> ::windows::runtime::Result<MobileBroadbandPco>7640     pub fn UpdatedData(&self) -> ::windows::runtime::Result<MobileBroadbandPco> {
7641         let this = self;
7642         unsafe {
7643             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7644             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MobileBroadbandPco>(result__)
7645         }
7646     }
7647 }
7648 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandPcoDataChangeTriggerDetails {
7649     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandPcoDataChangeTriggerDetails;{263f5114-64e0-4493-909b-2d14a01962b1})");
7650 }
7651 unsafe impl ::windows::runtime::Interface for MobileBroadbandPcoDataChangeTriggerDetails {
7652     type Vtable = IMobileBroadbandPcoDataChangeTriggerDetails_abi;
7653     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(641683732, 25824, 17555, [144, 155, 45, 20, 160, 25, 98, 177]);
7654 }
7655 impl ::windows::runtime::RuntimeName for MobileBroadbandPcoDataChangeTriggerDetails {
7656     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandPcoDataChangeTriggerDetails";
7657 }
7658 impl ::std::convert::From<MobileBroadbandPcoDataChangeTriggerDetails> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandPcoDataChangeTriggerDetails) -> Self7659     fn from(value: MobileBroadbandPcoDataChangeTriggerDetails) -> Self {
7660         unsafe { ::std::mem::transmute(value) }
7661     }
7662 }
7663 impl ::std::convert::From<&MobileBroadbandPcoDataChangeTriggerDetails> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandPcoDataChangeTriggerDetails) -> Self7664     fn from(value: &MobileBroadbandPcoDataChangeTriggerDetails) -> Self {
7665         ::std::convert::From::from(::std::clone::Clone::clone(value))
7666     }
7667 }
7668 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandPcoDataChangeTriggerDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7669     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7670         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7671     }
7672 }
7673 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandPcoDataChangeTriggerDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7674     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7675         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7676     }
7677 }
7678 impl ::std::convert::From<MobileBroadbandPcoDataChangeTriggerDetails> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandPcoDataChangeTriggerDetails) -> Self7679     fn from(value: MobileBroadbandPcoDataChangeTriggerDetails) -> Self {
7680         value.0
7681     }
7682 }
7683 impl ::std::convert::From<&MobileBroadbandPcoDataChangeTriggerDetails> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandPcoDataChangeTriggerDetails) -> Self7684     fn from(value: &MobileBroadbandPcoDataChangeTriggerDetails) -> Self {
7685         value.0.clone()
7686     }
7687 }
7688 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandPcoDataChangeTriggerDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7689     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7690         ::windows::runtime::Param::Owned(self.0)
7691     }
7692 }
7693 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandPcoDataChangeTriggerDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7694     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7695         ::windows::runtime::Param::Borrowed(&self.0)
7696     }
7697 }
7698 unsafe impl ::std::marker::Send for MobileBroadbandPcoDataChangeTriggerDetails {}
7699 unsafe impl ::std::marker::Sync for MobileBroadbandPcoDataChangeTriggerDetails {}
7700 #[repr(transparent)]
7701 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7702 pub struct MobileBroadbandPin(::windows::runtime::IInspectable);
7703 impl MobileBroadbandPin {
Type(&self) -> ::windows::runtime::Result<MobileBroadbandPinType>7704     pub fn Type(&self) -> ::windows::runtime::Result<MobileBroadbandPinType> {
7705         let this = self;
7706         unsafe {
7707             let mut result__: MobileBroadbandPinType = ::std::mem::zeroed();
7708             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MobileBroadbandPinType>(result__)
7709         }
7710     }
LockState(&self) -> ::windows::runtime::Result<MobileBroadbandPinLockState>7711     pub fn LockState(&self) -> ::windows::runtime::Result<MobileBroadbandPinLockState> {
7712         let this = self;
7713         unsafe {
7714             let mut result__: MobileBroadbandPinLockState = ::std::mem::zeroed();
7715             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MobileBroadbandPinLockState>(result__)
7716         }
7717     }
Format(&self) -> ::windows::runtime::Result<MobileBroadbandPinFormat>7718     pub fn Format(&self) -> ::windows::runtime::Result<MobileBroadbandPinFormat> {
7719         let this = self;
7720         unsafe {
7721             let mut result__: MobileBroadbandPinFormat = ::std::mem::zeroed();
7722             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MobileBroadbandPinFormat>(result__)
7723         }
7724     }
Enabled(&self) -> ::windows::runtime::Result<bool>7725     pub fn Enabled(&self) -> ::windows::runtime::Result<bool> {
7726         let this = self;
7727         unsafe {
7728             let mut result__: bool = ::std::mem::zeroed();
7729             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
7730         }
7731     }
MaxLength(&self) -> ::windows::runtime::Result<u32>7732     pub fn MaxLength(&self) -> ::windows::runtime::Result<u32> {
7733         let this = self;
7734         unsafe {
7735             let mut result__: u32 = ::std::mem::zeroed();
7736             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
7737         }
7738     }
MinLength(&self) -> ::windows::runtime::Result<u32>7739     pub fn MinLength(&self) -> ::windows::runtime::Result<u32> {
7740         let this = self;
7741         unsafe {
7742             let mut result__: u32 = ::std::mem::zeroed();
7743             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
7744         }
7745     }
AttemptsRemaining(&self) -> ::windows::runtime::Result<u32>7746     pub fn AttemptsRemaining(&self) -> ::windows::runtime::Result<u32> {
7747         let this = self;
7748         unsafe {
7749             let mut result__: u32 = ::std::mem::zeroed();
7750             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
7751         }
7752     }
7753     #[cfg(feature = "Foundation")]
EnableAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, currentpin: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<MobileBroadbandPinOperationResult>>7754     pub fn EnableAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, currentpin: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<MobileBroadbandPinOperationResult>> {
7755         let this = self;
7756         unsafe {
7757             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7758             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), currentpin.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<MobileBroadbandPinOperationResult>>(result__)
7759         }
7760     }
7761     #[cfg(feature = "Foundation")]
DisableAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, currentpin: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<MobileBroadbandPinOperationResult>>7762     pub fn DisableAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, currentpin: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<MobileBroadbandPinOperationResult>> {
7763         let this = self;
7764         unsafe {
7765             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7766             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), currentpin.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<MobileBroadbandPinOperationResult>>(result__)
7767         }
7768     }
7769     #[cfg(feature = "Foundation")]
EnterAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, currentpin: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<MobileBroadbandPinOperationResult>>7770     pub fn EnterAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, currentpin: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<MobileBroadbandPinOperationResult>> {
7771         let this = self;
7772         unsafe {
7773             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7774             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), currentpin.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<MobileBroadbandPinOperationResult>>(result__)
7775         }
7776     }
7777     #[cfg(feature = "Foundation")]
ChangeAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, currentpin: Param0, newpin: Param1) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<MobileBroadbandPinOperationResult>>7778     pub fn ChangeAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, currentpin: Param0, newpin: Param1) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<MobileBroadbandPinOperationResult>> {
7779         let this = self;
7780         unsafe {
7781             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7782             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), currentpin.into_param().abi(), newpin.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<MobileBroadbandPinOperationResult>>(result__)
7783         }
7784     }
7785     #[cfg(feature = "Foundation")]
UnblockAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, pinunblockkey: Param0, newpin: Param1) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<MobileBroadbandPinOperationResult>>7786     pub fn UnblockAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, pinunblockkey: Param0, newpin: Param1) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<MobileBroadbandPinOperationResult>> {
7787         let this = self;
7788         unsafe {
7789             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7790             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), pinunblockkey.into_param().abi(), newpin.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<MobileBroadbandPinOperationResult>>(result__)
7791         }
7792     }
7793 }
7794 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandPin {
7795     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandPin;{e661d709-e779-45bf-8281-75323df9e321})");
7796 }
7797 unsafe impl ::windows::runtime::Interface for MobileBroadbandPin {
7798     type Vtable = IMobileBroadbandPin_abi;
7799     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3865171721, 59257, 17855, [130, 129, 117, 50, 61, 249, 227, 33]);
7800 }
7801 impl ::windows::runtime::RuntimeName for MobileBroadbandPin {
7802     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandPin";
7803 }
7804 impl ::std::convert::From<MobileBroadbandPin> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandPin) -> Self7805     fn from(value: MobileBroadbandPin) -> Self {
7806         unsafe { ::std::mem::transmute(value) }
7807     }
7808 }
7809 impl ::std::convert::From<&MobileBroadbandPin> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandPin) -> Self7810     fn from(value: &MobileBroadbandPin) -> Self {
7811         ::std::convert::From::from(::std::clone::Clone::clone(value))
7812     }
7813 }
7814 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandPin {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7815     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7816         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7817     }
7818 }
7819 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandPin {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7820     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7821         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7822     }
7823 }
7824 impl ::std::convert::From<MobileBroadbandPin> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandPin) -> Self7825     fn from(value: MobileBroadbandPin) -> Self {
7826         value.0
7827     }
7828 }
7829 impl ::std::convert::From<&MobileBroadbandPin> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandPin) -> Self7830     fn from(value: &MobileBroadbandPin) -> Self {
7831         value.0.clone()
7832     }
7833 }
7834 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandPin {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7835     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7836         ::windows::runtime::Param::Owned(self.0)
7837     }
7838 }
7839 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandPin {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7840     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7841         ::windows::runtime::Param::Borrowed(&self.0)
7842     }
7843 }
7844 unsafe impl ::std::marker::Send for MobileBroadbandPin {}
7845 unsafe impl ::std::marker::Sync for MobileBroadbandPin {}
7846 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7847 #[repr(transparent)]
7848 pub struct MobileBroadbandPinFormat(pub i32);
7849 impl MobileBroadbandPinFormat {
7850     pub const Unknown: MobileBroadbandPinFormat = MobileBroadbandPinFormat(0i32);
7851     pub const Numeric: MobileBroadbandPinFormat = MobileBroadbandPinFormat(1i32);
7852     pub const Alphanumeric: MobileBroadbandPinFormat = MobileBroadbandPinFormat(2i32);
7853 }
7854 impl ::std::convert::From<i32> for MobileBroadbandPinFormat {
from(value: i32) -> Self7855     fn from(value: i32) -> Self {
7856         Self(value)
7857     }
7858 }
7859 unsafe impl ::windows::runtime::Abi for MobileBroadbandPinFormat {
7860     type Abi = Self;
7861     type DefaultType = Self;
7862 }
7863 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandPinFormat {
7864     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Networking.NetworkOperators.MobileBroadbandPinFormat;i4)");
7865 }
7866 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
7867 #[repr(transparent)]
7868 pub struct MobileBroadbandPinLockState(pub i32);
7869 impl MobileBroadbandPinLockState {
7870     pub const Unknown: MobileBroadbandPinLockState = MobileBroadbandPinLockState(0i32);
7871     pub const Unlocked: MobileBroadbandPinLockState = MobileBroadbandPinLockState(1i32);
7872     pub const PinRequired: MobileBroadbandPinLockState = MobileBroadbandPinLockState(2i32);
7873     pub const PinUnblockKeyRequired: MobileBroadbandPinLockState = MobileBroadbandPinLockState(3i32);
7874 }
7875 impl ::std::convert::From<i32> for MobileBroadbandPinLockState {
from(value: i32) -> Self7876     fn from(value: i32) -> Self {
7877         Self(value)
7878     }
7879 }
7880 unsafe impl ::windows::runtime::Abi for MobileBroadbandPinLockState {
7881     type Abi = Self;
7882     type DefaultType = Self;
7883 }
7884 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandPinLockState {
7885     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Networking.NetworkOperators.MobileBroadbandPinLockState;i4)");
7886 }
7887 #[repr(transparent)]
7888 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7889 pub struct MobileBroadbandPinLockStateChange(::windows::runtime::IInspectable);
7890 impl MobileBroadbandPinLockStateChange {
DeviceId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>7891     pub fn DeviceId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
7892         let this = self;
7893         unsafe {
7894             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
7895             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
7896         }
7897     }
PinType(&self) -> ::windows::runtime::Result<MobileBroadbandPinType>7898     pub fn PinType(&self) -> ::windows::runtime::Result<MobileBroadbandPinType> {
7899         let this = self;
7900         unsafe {
7901             let mut result__: MobileBroadbandPinType = ::std::mem::zeroed();
7902             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MobileBroadbandPinType>(result__)
7903         }
7904     }
PinLockState(&self) -> ::windows::runtime::Result<MobileBroadbandPinLockState>7905     pub fn PinLockState(&self) -> ::windows::runtime::Result<MobileBroadbandPinLockState> {
7906         let this = self;
7907         unsafe {
7908             let mut result__: MobileBroadbandPinLockState = ::std::mem::zeroed();
7909             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MobileBroadbandPinLockState>(result__)
7910         }
7911     }
7912 }
7913 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandPinLockStateChange {
7914     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandPinLockStateChange;{be16673e-1f04-4f95-8b90-e7f559dde7e5})");
7915 }
7916 unsafe impl ::windows::runtime::Interface for MobileBroadbandPinLockStateChange {
7917     type Vtable = IMobileBroadbandPinLockStateChange_abi;
7918     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3189139262, 7940, 20373, [139, 144, 231, 245, 89, 221, 231, 229]);
7919 }
7920 impl ::windows::runtime::RuntimeName for MobileBroadbandPinLockStateChange {
7921     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandPinLockStateChange";
7922 }
7923 impl ::std::convert::From<MobileBroadbandPinLockStateChange> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandPinLockStateChange) -> Self7924     fn from(value: MobileBroadbandPinLockStateChange) -> Self {
7925         unsafe { ::std::mem::transmute(value) }
7926     }
7927 }
7928 impl ::std::convert::From<&MobileBroadbandPinLockStateChange> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandPinLockStateChange) -> Self7929     fn from(value: &MobileBroadbandPinLockStateChange) -> Self {
7930         ::std::convert::From::from(::std::clone::Clone::clone(value))
7931     }
7932 }
7933 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandPinLockStateChange {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7934     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7935         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
7936     }
7937 }
7938 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandPinLockStateChange {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7939     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
7940         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
7941     }
7942 }
7943 impl ::std::convert::From<MobileBroadbandPinLockStateChange> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandPinLockStateChange) -> Self7944     fn from(value: MobileBroadbandPinLockStateChange) -> Self {
7945         value.0
7946     }
7947 }
7948 impl ::std::convert::From<&MobileBroadbandPinLockStateChange> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandPinLockStateChange) -> Self7949     fn from(value: &MobileBroadbandPinLockStateChange) -> Self {
7950         value.0.clone()
7951     }
7952 }
7953 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandPinLockStateChange {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7954     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7955         ::windows::runtime::Param::Owned(self.0)
7956     }
7957 }
7958 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandPinLockStateChange {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>7959     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
7960         ::windows::runtime::Param::Borrowed(&self.0)
7961     }
7962 }
7963 unsafe impl ::std::marker::Send for MobileBroadbandPinLockStateChange {}
7964 unsafe impl ::std::marker::Sync for MobileBroadbandPinLockStateChange {}
7965 #[repr(transparent)]
7966 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
7967 pub struct MobileBroadbandPinLockStateChangeTriggerDetails(::windows::runtime::IInspectable);
7968 impl MobileBroadbandPinLockStateChangeTriggerDetails {
7969     #[cfg(feature = "Foundation_Collections")]
PinLockStateChanges(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandPinLockStateChange>>7970     pub fn PinLockStateChanges(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandPinLockStateChange>> {
7971         let this = self;
7972         unsafe {
7973             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
7974             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<MobileBroadbandPinLockStateChange>>(result__)
7975         }
7976     }
7977 }
7978 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandPinLockStateChangeTriggerDetails {
7979     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandPinLockStateChangeTriggerDetails;{d338c091-3e91-4d38-9036-aee83a6e79ad})");
7980 }
7981 unsafe impl ::windows::runtime::Interface for MobileBroadbandPinLockStateChangeTriggerDetails {
7982     type Vtable = IMobileBroadbandPinLockStateChangeTriggerDetails_abi;
7983     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3543711889, 16017, 19768, [144, 54, 174, 232, 58, 110, 121, 173]);
7984 }
7985 impl ::windows::runtime::RuntimeName for MobileBroadbandPinLockStateChangeTriggerDetails {
7986     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandPinLockStateChangeTriggerDetails";
7987 }
7988 impl ::std::convert::From<MobileBroadbandPinLockStateChangeTriggerDetails> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandPinLockStateChangeTriggerDetails) -> Self7989     fn from(value: MobileBroadbandPinLockStateChangeTriggerDetails) -> Self {
7990         unsafe { ::std::mem::transmute(value) }
7991     }
7992 }
7993 impl ::std::convert::From<&MobileBroadbandPinLockStateChangeTriggerDetails> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandPinLockStateChangeTriggerDetails) -> Self7994     fn from(value: &MobileBroadbandPinLockStateChangeTriggerDetails) -> Self {
7995         ::std::convert::From::from(::std::clone::Clone::clone(value))
7996     }
7997 }
7998 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandPinLockStateChangeTriggerDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>7999     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8000         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8001     }
8002 }
8003 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandPinLockStateChangeTriggerDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8004     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8005         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8006     }
8007 }
8008 impl ::std::convert::From<MobileBroadbandPinLockStateChangeTriggerDetails> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandPinLockStateChangeTriggerDetails) -> Self8009     fn from(value: MobileBroadbandPinLockStateChangeTriggerDetails) -> Self {
8010         value.0
8011     }
8012 }
8013 impl ::std::convert::From<&MobileBroadbandPinLockStateChangeTriggerDetails> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandPinLockStateChangeTriggerDetails) -> Self8014     fn from(value: &MobileBroadbandPinLockStateChangeTriggerDetails) -> Self {
8015         value.0.clone()
8016     }
8017 }
8018 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandPinLockStateChangeTriggerDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>8019     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
8020         ::windows::runtime::Param::Owned(self.0)
8021     }
8022 }
8023 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandPinLockStateChangeTriggerDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>8024     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
8025         ::windows::runtime::Param::Borrowed(&self.0)
8026     }
8027 }
8028 unsafe impl ::std::marker::Send for MobileBroadbandPinLockStateChangeTriggerDetails {}
8029 unsafe impl ::std::marker::Sync for MobileBroadbandPinLockStateChangeTriggerDetails {}
8030 #[repr(transparent)]
8031 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8032 pub struct MobileBroadbandPinManager(::windows::runtime::IInspectable);
8033 impl MobileBroadbandPinManager {
8034     #[cfg(feature = "Foundation_Collections")]
SupportedPins(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandPinType>>8035     pub fn SupportedPins(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandPinType>> {
8036         let this = self;
8037         unsafe {
8038             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8039             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<MobileBroadbandPinType>>(result__)
8040         }
8041     }
GetPin(&self, pintype: MobileBroadbandPinType) -> ::windows::runtime::Result<MobileBroadbandPin>8042     pub fn GetPin(&self, pintype: MobileBroadbandPinType) -> ::windows::runtime::Result<MobileBroadbandPin> {
8043         let this = self;
8044         unsafe {
8045             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8046             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), pintype, &mut result__).from_abi::<MobileBroadbandPin>(result__)
8047         }
8048     }
8049 }
8050 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandPinManager {
8051     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandPinManager;{83567edd-6e1f-4b9b-a413-2b1f50cc36df})");
8052 }
8053 unsafe impl ::windows::runtime::Interface for MobileBroadbandPinManager {
8054     type Vtable = IMobileBroadbandPinManager_abi;
8055     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2203483869, 28191, 19355, [164, 19, 43, 31, 80, 204, 54, 223]);
8056 }
8057 impl ::windows::runtime::RuntimeName for MobileBroadbandPinManager {
8058     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandPinManager";
8059 }
8060 impl ::std::convert::From<MobileBroadbandPinManager> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandPinManager) -> Self8061     fn from(value: MobileBroadbandPinManager) -> Self {
8062         unsafe { ::std::mem::transmute(value) }
8063     }
8064 }
8065 impl ::std::convert::From<&MobileBroadbandPinManager> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandPinManager) -> Self8066     fn from(value: &MobileBroadbandPinManager) -> Self {
8067         ::std::convert::From::from(::std::clone::Clone::clone(value))
8068     }
8069 }
8070 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandPinManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8071     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8072         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8073     }
8074 }
8075 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandPinManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8076     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8077         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8078     }
8079 }
8080 impl ::std::convert::From<MobileBroadbandPinManager> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandPinManager) -> Self8081     fn from(value: MobileBroadbandPinManager) -> Self {
8082         value.0
8083     }
8084 }
8085 impl ::std::convert::From<&MobileBroadbandPinManager> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandPinManager) -> Self8086     fn from(value: &MobileBroadbandPinManager) -> Self {
8087         value.0.clone()
8088     }
8089 }
8090 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandPinManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>8091     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
8092         ::windows::runtime::Param::Owned(self.0)
8093     }
8094 }
8095 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandPinManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>8096     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
8097         ::windows::runtime::Param::Borrowed(&self.0)
8098     }
8099 }
8100 unsafe impl ::std::marker::Send for MobileBroadbandPinManager {}
8101 unsafe impl ::std::marker::Sync for MobileBroadbandPinManager {}
8102 #[repr(transparent)]
8103 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8104 pub struct MobileBroadbandPinOperationResult(::windows::runtime::IInspectable);
8105 impl MobileBroadbandPinOperationResult {
IsSuccessful(&self) -> ::windows::runtime::Result<bool>8106     pub fn IsSuccessful(&self) -> ::windows::runtime::Result<bool> {
8107         let this = self;
8108         unsafe {
8109             let mut result__: bool = ::std::mem::zeroed();
8110             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
8111         }
8112     }
AttemptsRemaining(&self) -> ::windows::runtime::Result<u32>8113     pub fn AttemptsRemaining(&self) -> ::windows::runtime::Result<u32> {
8114         let this = self;
8115         unsafe {
8116             let mut result__: u32 = ::std::mem::zeroed();
8117             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
8118         }
8119     }
8120 }
8121 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandPinOperationResult {
8122     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandPinOperationResult;{11dddc32-31e7-49f5-b663-123d3bef0362})");
8123 }
8124 unsafe impl ::windows::runtime::Interface for MobileBroadbandPinOperationResult {
8125     type Vtable = IMobileBroadbandPinOperationResult_abi;
8126     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(299752498, 12775, 18933, [182, 99, 18, 61, 59, 239, 3, 98]);
8127 }
8128 impl ::windows::runtime::RuntimeName for MobileBroadbandPinOperationResult {
8129     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandPinOperationResult";
8130 }
8131 impl ::std::convert::From<MobileBroadbandPinOperationResult> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandPinOperationResult) -> Self8132     fn from(value: MobileBroadbandPinOperationResult) -> Self {
8133         unsafe { ::std::mem::transmute(value) }
8134     }
8135 }
8136 impl ::std::convert::From<&MobileBroadbandPinOperationResult> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandPinOperationResult) -> Self8137     fn from(value: &MobileBroadbandPinOperationResult) -> Self {
8138         ::std::convert::From::from(::std::clone::Clone::clone(value))
8139     }
8140 }
8141 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandPinOperationResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8142     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8143         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8144     }
8145 }
8146 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandPinOperationResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8147     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8148         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8149     }
8150 }
8151 impl ::std::convert::From<MobileBroadbandPinOperationResult> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandPinOperationResult) -> Self8152     fn from(value: MobileBroadbandPinOperationResult) -> Self {
8153         value.0
8154     }
8155 }
8156 impl ::std::convert::From<&MobileBroadbandPinOperationResult> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandPinOperationResult) -> Self8157     fn from(value: &MobileBroadbandPinOperationResult) -> Self {
8158         value.0.clone()
8159     }
8160 }
8161 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandPinOperationResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>8162     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
8163         ::windows::runtime::Param::Owned(self.0)
8164     }
8165 }
8166 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandPinOperationResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>8167     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
8168         ::windows::runtime::Param::Borrowed(&self.0)
8169     }
8170 }
8171 unsafe impl ::std::marker::Send for MobileBroadbandPinOperationResult {}
8172 unsafe impl ::std::marker::Sync for MobileBroadbandPinOperationResult {}
8173 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8174 #[repr(transparent)]
8175 pub struct MobileBroadbandPinType(pub i32);
8176 impl MobileBroadbandPinType {
8177     pub const None: MobileBroadbandPinType = MobileBroadbandPinType(0i32);
8178     pub const Custom: MobileBroadbandPinType = MobileBroadbandPinType(1i32);
8179     pub const Pin1: MobileBroadbandPinType = MobileBroadbandPinType(2i32);
8180     pub const Pin2: MobileBroadbandPinType = MobileBroadbandPinType(3i32);
8181     pub const SimPin: MobileBroadbandPinType = MobileBroadbandPinType(4i32);
8182     pub const FirstSimPin: MobileBroadbandPinType = MobileBroadbandPinType(5i32);
8183     pub const NetworkPin: MobileBroadbandPinType = MobileBroadbandPinType(6i32);
8184     pub const NetworkSubsetPin: MobileBroadbandPinType = MobileBroadbandPinType(7i32);
8185     pub const ServiceProviderPin: MobileBroadbandPinType = MobileBroadbandPinType(8i32);
8186     pub const CorporatePin: MobileBroadbandPinType = MobileBroadbandPinType(9i32);
8187     pub const SubsidyLock: MobileBroadbandPinType = MobileBroadbandPinType(10i32);
8188 }
8189 impl ::std::convert::From<i32> for MobileBroadbandPinType {
from(value: i32) -> Self8190     fn from(value: i32) -> Self {
8191         Self(value)
8192     }
8193 }
8194 unsafe impl ::windows::runtime::Abi for MobileBroadbandPinType {
8195     type Abi = Self;
8196     type DefaultType = Self;
8197 }
8198 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandPinType {
8199     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Networking.NetworkOperators.MobileBroadbandPinType;i4)");
8200 }
8201 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8202 #[repr(transparent)]
8203 pub struct MobileBroadbandRadioState(pub i32);
8204 impl MobileBroadbandRadioState {
8205     pub const Off: MobileBroadbandRadioState = MobileBroadbandRadioState(0i32);
8206     pub const On: MobileBroadbandRadioState = MobileBroadbandRadioState(1i32);
8207 }
8208 impl ::std::convert::From<i32> for MobileBroadbandRadioState {
from(value: i32) -> Self8209     fn from(value: i32) -> Self {
8210         Self(value)
8211     }
8212 }
8213 unsafe impl ::windows::runtime::Abi for MobileBroadbandRadioState {
8214     type Abi = Self;
8215     type DefaultType = Self;
8216 }
8217 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandRadioState {
8218     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Networking.NetworkOperators.MobileBroadbandRadioState;i4)");
8219 }
8220 #[repr(transparent)]
8221 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8222 pub struct MobileBroadbandRadioStateChange(::windows::runtime::IInspectable);
8223 impl MobileBroadbandRadioStateChange {
DeviceId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>8224     pub fn DeviceId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8225         let this = self;
8226         unsafe {
8227             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8228             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8229         }
8230     }
RadioState(&self) -> ::windows::runtime::Result<MobileBroadbandRadioState>8231     pub fn RadioState(&self) -> ::windows::runtime::Result<MobileBroadbandRadioState> {
8232         let this = self;
8233         unsafe {
8234             let mut result__: MobileBroadbandRadioState = ::std::mem::zeroed();
8235             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MobileBroadbandRadioState>(result__)
8236         }
8237     }
8238 }
8239 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandRadioStateChange {
8240     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandRadioStateChange;{b054a561-9833-4aed-9717-4348b21a24b3})");
8241 }
8242 unsafe impl ::windows::runtime::Interface for MobileBroadbandRadioStateChange {
8243     type Vtable = IMobileBroadbandRadioStateChange_abi;
8244     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2958337377, 38963, 19181, [151, 23, 67, 72, 178, 26, 36, 179]);
8245 }
8246 impl ::windows::runtime::RuntimeName for MobileBroadbandRadioStateChange {
8247     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandRadioStateChange";
8248 }
8249 impl ::std::convert::From<MobileBroadbandRadioStateChange> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandRadioStateChange) -> Self8250     fn from(value: MobileBroadbandRadioStateChange) -> Self {
8251         unsafe { ::std::mem::transmute(value) }
8252     }
8253 }
8254 impl ::std::convert::From<&MobileBroadbandRadioStateChange> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandRadioStateChange) -> Self8255     fn from(value: &MobileBroadbandRadioStateChange) -> Self {
8256         ::std::convert::From::from(::std::clone::Clone::clone(value))
8257     }
8258 }
8259 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandRadioStateChange {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8260     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8261         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8262     }
8263 }
8264 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandRadioStateChange {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8265     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8266         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8267     }
8268 }
8269 impl ::std::convert::From<MobileBroadbandRadioStateChange> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandRadioStateChange) -> Self8270     fn from(value: MobileBroadbandRadioStateChange) -> Self {
8271         value.0
8272     }
8273 }
8274 impl ::std::convert::From<&MobileBroadbandRadioStateChange> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandRadioStateChange) -> Self8275     fn from(value: &MobileBroadbandRadioStateChange) -> Self {
8276         value.0.clone()
8277     }
8278 }
8279 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandRadioStateChange {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>8280     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
8281         ::windows::runtime::Param::Owned(self.0)
8282     }
8283 }
8284 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandRadioStateChange {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>8285     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
8286         ::windows::runtime::Param::Borrowed(&self.0)
8287     }
8288 }
8289 unsafe impl ::std::marker::Send for MobileBroadbandRadioStateChange {}
8290 unsafe impl ::std::marker::Sync for MobileBroadbandRadioStateChange {}
8291 #[repr(transparent)]
8292 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8293 pub struct MobileBroadbandRadioStateChangeTriggerDetails(::windows::runtime::IInspectable);
8294 impl MobileBroadbandRadioStateChangeTriggerDetails {
8295     #[cfg(feature = "Foundation_Collections")]
RadioStateChanges(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandRadioStateChange>>8296     pub fn RadioStateChanges(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandRadioStateChange>> {
8297         let this = self;
8298         unsafe {
8299             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8300             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<MobileBroadbandRadioStateChange>>(result__)
8301         }
8302     }
8303 }
8304 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandRadioStateChangeTriggerDetails {
8305     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandRadioStateChangeTriggerDetails;{71301ace-093c-42c6-b0db-ad1f75a65445})");
8306 }
8307 unsafe impl ::windows::runtime::Interface for MobileBroadbandRadioStateChangeTriggerDetails {
8308     type Vtable = IMobileBroadbandRadioStateChangeTriggerDetails_abi;
8309     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1898977998, 2364, 17094, [176, 219, 173, 31, 117, 166, 84, 69]);
8310 }
8311 impl ::windows::runtime::RuntimeName for MobileBroadbandRadioStateChangeTriggerDetails {
8312     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandRadioStateChangeTriggerDetails";
8313 }
8314 impl ::std::convert::From<MobileBroadbandRadioStateChangeTriggerDetails> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandRadioStateChangeTriggerDetails) -> Self8315     fn from(value: MobileBroadbandRadioStateChangeTriggerDetails) -> Self {
8316         unsafe { ::std::mem::transmute(value) }
8317     }
8318 }
8319 impl ::std::convert::From<&MobileBroadbandRadioStateChangeTriggerDetails> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandRadioStateChangeTriggerDetails) -> Self8320     fn from(value: &MobileBroadbandRadioStateChangeTriggerDetails) -> Self {
8321         ::std::convert::From::from(::std::clone::Clone::clone(value))
8322     }
8323 }
8324 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandRadioStateChangeTriggerDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8325     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8326         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8327     }
8328 }
8329 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandRadioStateChangeTriggerDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8330     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8331         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8332     }
8333 }
8334 impl ::std::convert::From<MobileBroadbandRadioStateChangeTriggerDetails> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandRadioStateChangeTriggerDetails) -> Self8335     fn from(value: MobileBroadbandRadioStateChangeTriggerDetails) -> Self {
8336         value.0
8337     }
8338 }
8339 impl ::std::convert::From<&MobileBroadbandRadioStateChangeTriggerDetails> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandRadioStateChangeTriggerDetails) -> Self8340     fn from(value: &MobileBroadbandRadioStateChangeTriggerDetails) -> Self {
8341         value.0.clone()
8342     }
8343 }
8344 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandRadioStateChangeTriggerDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>8345     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
8346         ::windows::runtime::Param::Owned(self.0)
8347     }
8348 }
8349 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandRadioStateChangeTriggerDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>8350     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
8351         ::windows::runtime::Param::Borrowed(&self.0)
8352     }
8353 }
8354 unsafe impl ::std::marker::Send for MobileBroadbandRadioStateChangeTriggerDetails {}
8355 unsafe impl ::std::marker::Sync for MobileBroadbandRadioStateChangeTriggerDetails {}
8356 #[repr(transparent)]
8357 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8358 pub struct MobileBroadbandSarManager(::windows::runtime::IInspectable);
8359 impl MobileBroadbandSarManager {
IsBackoffEnabled(&self) -> ::windows::runtime::Result<bool>8360     pub fn IsBackoffEnabled(&self) -> ::windows::runtime::Result<bool> {
8361         let this = self;
8362         unsafe {
8363             let mut result__: bool = ::std::mem::zeroed();
8364             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
8365         }
8366     }
IsWiFiHardwareIntegrated(&self) -> ::windows::runtime::Result<bool>8367     pub fn IsWiFiHardwareIntegrated(&self) -> ::windows::runtime::Result<bool> {
8368         let this = self;
8369         unsafe {
8370             let mut result__: bool = ::std::mem::zeroed();
8371             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
8372         }
8373     }
IsSarControlledByHardware(&self) -> ::windows::runtime::Result<bool>8374     pub fn IsSarControlledByHardware(&self) -> ::windows::runtime::Result<bool> {
8375         let this = self;
8376         unsafe {
8377             let mut result__: bool = ::std::mem::zeroed();
8378             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
8379         }
8380     }
8381     #[cfg(feature = "Foundation_Collections")]
Antennas(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandAntennaSar>>8382     pub fn Antennas(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandAntennaSar>> {
8383         let this = self;
8384         unsafe {
8385             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8386             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<MobileBroadbandAntennaSar>>(result__)
8387         }
8388     }
8389     #[cfg(feature = "Foundation")]
HysteresisTimerPeriod(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>8390     pub fn HysteresisTimerPeriod(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> {
8391         let this = self;
8392         unsafe {
8393             let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed();
8394             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__)
8395         }
8396     }
8397     #[cfg(feature = "Foundation")]
TransmissionStateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MobileBroadbandSarManager, MobileBroadbandTransmissionStateChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>8398     pub fn TransmissionStateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MobileBroadbandSarManager, MobileBroadbandTransmissionStateChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
8399         let this = self;
8400         unsafe {
8401             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
8402             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
8403         }
8404     }
8405     #[cfg(feature = "Foundation")]
RemoveTransmissionStateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>8406     pub fn RemoveTransmissionStateChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
8407         let this = self;
8408         unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
8409     }
8410     #[cfg(feature = "Foundation")]
EnableBackoffAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>8411     pub fn EnableBackoffAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> {
8412         let this = self;
8413         unsafe {
8414             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8415             (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__)
8416         }
8417     }
8418     #[cfg(feature = "Foundation")]
DisableBackoffAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>8419     pub fn DisableBackoffAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> {
8420         let this = self;
8421         unsafe {
8422             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8423             (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__)
8424         }
8425     }
8426     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
SetConfigurationAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<MobileBroadbandAntennaSar>>>(&self, antennas: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>8427     pub fn SetConfigurationAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<MobileBroadbandAntennaSar>>>(&self, antennas: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> {
8428         let this = self;
8429         unsafe {
8430             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8431             (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), antennas.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__)
8432         }
8433     }
8434     #[cfg(feature = "Foundation")]
RevertSarToHardwareControlAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>8435     pub fn RevertSarToHardwareControlAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> {
8436         let this = self;
8437         unsafe {
8438             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8439             (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__)
8440         }
8441     }
8442     #[cfg(feature = "Foundation")]
SetTransmissionStateChangedHysteresisAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, timerperiod: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>8443     pub fn SetTransmissionStateChangedHysteresisAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TimeSpan>>(&self, timerperiod: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> {
8444         let this = self;
8445         unsafe {
8446             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8447             (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), timerperiod.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__)
8448         }
8449     }
8450     #[cfg(feature = "Foundation")]
GetIsTransmittingAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<bool>>8451     pub fn GetIsTransmittingAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<bool>> {
8452         let this = self;
8453         unsafe {
8454             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8455             (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<bool>>(result__)
8456         }
8457     }
StartTransmissionStateMonitoring(&self) -> ::windows::runtime::Result<()>8458     pub fn StartTransmissionStateMonitoring(&self) -> ::windows::runtime::Result<()> {
8459         let this = self;
8460         unsafe { (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this)).ok() }
8461     }
StopTransmissionStateMonitoring(&self) -> ::windows::runtime::Result<()>8462     pub fn StopTransmissionStateMonitoring(&self) -> ::windows::runtime::Result<()> {
8463         let this = self;
8464         unsafe { (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this)).ok() }
8465     }
8466 }
8467 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandSarManager {
8468     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandSarManager;{e5b26833-967e-40c9-a485-19c0dd209e22})");
8469 }
8470 unsafe impl ::windows::runtime::Interface for MobileBroadbandSarManager {
8471     type Vtable = IMobileBroadbandSarManager_abi;
8472     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3853674547, 38526, 16585, [164, 133, 25, 192, 221, 32, 158, 34]);
8473 }
8474 impl ::windows::runtime::RuntimeName for MobileBroadbandSarManager {
8475     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandSarManager";
8476 }
8477 impl ::std::convert::From<MobileBroadbandSarManager> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandSarManager) -> Self8478     fn from(value: MobileBroadbandSarManager) -> Self {
8479         unsafe { ::std::mem::transmute(value) }
8480     }
8481 }
8482 impl ::std::convert::From<&MobileBroadbandSarManager> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandSarManager) -> Self8483     fn from(value: &MobileBroadbandSarManager) -> Self {
8484         ::std::convert::From::from(::std::clone::Clone::clone(value))
8485     }
8486 }
8487 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandSarManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8488     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8489         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8490     }
8491 }
8492 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandSarManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8493     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8494         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8495     }
8496 }
8497 impl ::std::convert::From<MobileBroadbandSarManager> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandSarManager) -> Self8498     fn from(value: MobileBroadbandSarManager) -> Self {
8499         value.0
8500     }
8501 }
8502 impl ::std::convert::From<&MobileBroadbandSarManager> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandSarManager) -> Self8503     fn from(value: &MobileBroadbandSarManager) -> Self {
8504         value.0.clone()
8505     }
8506 }
8507 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandSarManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>8508     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
8509         ::windows::runtime::Param::Owned(self.0)
8510     }
8511 }
8512 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandSarManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>8513     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
8514         ::windows::runtime::Param::Borrowed(&self.0)
8515     }
8516 }
8517 unsafe impl ::std::marker::Send for MobileBroadbandSarManager {}
8518 unsafe impl ::std::marker::Sync for MobileBroadbandSarManager {}
8519 #[repr(transparent)]
8520 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8521 pub struct MobileBroadbandSlotInfo(::windows::runtime::IInspectable);
8522 impl MobileBroadbandSlotInfo {
Index(&self) -> ::windows::runtime::Result<i32>8523     pub fn Index(&self) -> ::windows::runtime::Result<i32> {
8524         let this = self;
8525         unsafe {
8526             let mut result__: i32 = ::std::mem::zeroed();
8527             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
8528         }
8529     }
State(&self) -> ::windows::runtime::Result<MobileBroadbandSlotState>8530     pub fn State(&self) -> ::windows::runtime::Result<MobileBroadbandSlotState> {
8531         let this = self;
8532         unsafe {
8533             let mut result__: MobileBroadbandSlotState = ::std::mem::zeroed();
8534             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MobileBroadbandSlotState>(result__)
8535         }
8536     }
8537 }
8538 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandSlotInfo {
8539     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandSlotInfo;{bd350b32-882e-542a-b17d-0bb1b49bae9e})");
8540 }
8541 unsafe impl ::windows::runtime::Interface for MobileBroadbandSlotInfo {
8542     type Vtable = IMobileBroadbandSlotInfo_abi;
8543     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3174370098, 34862, 21546, [177, 125, 11, 177, 180, 155, 174, 158]);
8544 }
8545 impl ::windows::runtime::RuntimeName for MobileBroadbandSlotInfo {
8546     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandSlotInfo";
8547 }
8548 impl ::std::convert::From<MobileBroadbandSlotInfo> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandSlotInfo) -> Self8549     fn from(value: MobileBroadbandSlotInfo) -> Self {
8550         unsafe { ::std::mem::transmute(value) }
8551     }
8552 }
8553 impl ::std::convert::From<&MobileBroadbandSlotInfo> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandSlotInfo) -> Self8554     fn from(value: &MobileBroadbandSlotInfo) -> Self {
8555         ::std::convert::From::from(::std::clone::Clone::clone(value))
8556     }
8557 }
8558 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandSlotInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8559     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8560         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8561     }
8562 }
8563 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandSlotInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8564     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8565         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8566     }
8567 }
8568 impl ::std::convert::From<MobileBroadbandSlotInfo> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandSlotInfo) -> Self8569     fn from(value: MobileBroadbandSlotInfo) -> Self {
8570         value.0
8571     }
8572 }
8573 impl ::std::convert::From<&MobileBroadbandSlotInfo> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandSlotInfo) -> Self8574     fn from(value: &MobileBroadbandSlotInfo) -> Self {
8575         value.0.clone()
8576     }
8577 }
8578 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandSlotInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>8579     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
8580         ::windows::runtime::Param::Owned(self.0)
8581     }
8582 }
8583 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandSlotInfo {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>8584     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
8585         ::windows::runtime::Param::Borrowed(&self.0)
8586     }
8587 }
8588 unsafe impl ::std::marker::Send for MobileBroadbandSlotInfo {}
8589 unsafe impl ::std::marker::Sync for MobileBroadbandSlotInfo {}
8590 #[repr(transparent)]
8591 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8592 pub struct MobileBroadbandSlotInfoChangedEventArgs(::windows::runtime::IInspectable);
8593 impl MobileBroadbandSlotInfoChangedEventArgs {
SlotInfo(&self) -> ::windows::runtime::Result<MobileBroadbandSlotInfo>8594     pub fn SlotInfo(&self) -> ::windows::runtime::Result<MobileBroadbandSlotInfo> {
8595         let this = self;
8596         unsafe {
8597             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8598             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MobileBroadbandSlotInfo>(result__)
8599         }
8600     }
8601 }
8602 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandSlotInfoChangedEventArgs {
8603     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandSlotInfoChangedEventArgs;{3158839f-950c-54ce-a48d-ba4529b48f0f})");
8604 }
8605 unsafe impl ::windows::runtime::Interface for MobileBroadbandSlotInfoChangedEventArgs {
8606     type Vtable = IMobileBroadbandSlotInfoChangedEventArgs_abi;
8607     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(827884447, 38156, 21710, [164, 141, 186, 69, 41, 180, 143, 15]);
8608 }
8609 impl ::windows::runtime::RuntimeName for MobileBroadbandSlotInfoChangedEventArgs {
8610     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandSlotInfoChangedEventArgs";
8611 }
8612 impl ::std::convert::From<MobileBroadbandSlotInfoChangedEventArgs> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandSlotInfoChangedEventArgs) -> Self8613     fn from(value: MobileBroadbandSlotInfoChangedEventArgs) -> Self {
8614         unsafe { ::std::mem::transmute(value) }
8615     }
8616 }
8617 impl ::std::convert::From<&MobileBroadbandSlotInfoChangedEventArgs> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandSlotInfoChangedEventArgs) -> Self8618     fn from(value: &MobileBroadbandSlotInfoChangedEventArgs) -> Self {
8619         ::std::convert::From::from(::std::clone::Clone::clone(value))
8620     }
8621 }
8622 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandSlotInfoChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8623     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8624         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8625     }
8626 }
8627 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandSlotInfoChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8628     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8629         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8630     }
8631 }
8632 impl ::std::convert::From<MobileBroadbandSlotInfoChangedEventArgs> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandSlotInfoChangedEventArgs) -> Self8633     fn from(value: MobileBroadbandSlotInfoChangedEventArgs) -> Self {
8634         value.0
8635     }
8636 }
8637 impl ::std::convert::From<&MobileBroadbandSlotInfoChangedEventArgs> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandSlotInfoChangedEventArgs) -> Self8638     fn from(value: &MobileBroadbandSlotInfoChangedEventArgs) -> Self {
8639         value.0.clone()
8640     }
8641 }
8642 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandSlotInfoChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>8643     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
8644         ::windows::runtime::Param::Owned(self.0)
8645     }
8646 }
8647 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandSlotInfoChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>8648     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
8649         ::windows::runtime::Param::Borrowed(&self.0)
8650     }
8651 }
8652 unsafe impl ::std::marker::Send for MobileBroadbandSlotInfoChangedEventArgs {}
8653 unsafe impl ::std::marker::Sync for MobileBroadbandSlotInfoChangedEventArgs {}
8654 #[repr(transparent)]
8655 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8656 pub struct MobileBroadbandSlotManager(::windows::runtime::IInspectable);
8657 impl MobileBroadbandSlotManager {
8658     #[cfg(feature = "Foundation_Collections")]
SlotInfos(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandSlotInfo>>8659     pub fn SlotInfos(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandSlotInfo>> {
8660         let this = self;
8661         unsafe {
8662             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8663             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<MobileBroadbandSlotInfo>>(result__)
8664         }
8665     }
CurrentSlotIndex(&self) -> ::windows::runtime::Result<i32>8666     pub fn CurrentSlotIndex(&self) -> ::windows::runtime::Result<i32> {
8667         let this = self;
8668         unsafe {
8669             let mut result__: i32 = ::std::mem::zeroed();
8670             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
8671         }
8672     }
SetCurrentSlot(&self, slotindex: i32) -> ::windows::runtime::Result<MobileBroadbandModemStatus>8673     pub fn SetCurrentSlot(&self, slotindex: i32) -> ::windows::runtime::Result<MobileBroadbandModemStatus> {
8674         let this = self;
8675         unsafe {
8676             let mut result__: MobileBroadbandModemStatus = ::std::mem::zeroed();
8677             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), slotindex, &mut result__).from_abi::<MobileBroadbandModemStatus>(result__)
8678         }
8679     }
8680     #[cfg(feature = "Foundation")]
SetCurrentSlotAsync(&self, slotindex: i32) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<MobileBroadbandModemStatus>>8681     pub fn SetCurrentSlotAsync(&self, slotindex: i32) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<MobileBroadbandModemStatus>> {
8682         let this = self;
8683         unsafe {
8684             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8685             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), slotindex, &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<MobileBroadbandModemStatus>>(result__)
8686         }
8687     }
8688     #[cfg(feature = "Foundation")]
SlotInfoChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MobileBroadbandSlotManager, MobileBroadbandSlotInfoChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>8689     pub fn SlotInfoChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MobileBroadbandSlotManager, MobileBroadbandSlotInfoChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
8690         let this = self;
8691         unsafe {
8692             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
8693             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
8694         }
8695     }
8696     #[cfg(feature = "Foundation")]
RemoveSlotInfoChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>8697     pub fn RemoveSlotInfoChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
8698         let this = self;
8699         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
8700     }
8701     #[cfg(feature = "Foundation")]
CurrentSlotIndexChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MobileBroadbandSlotManager, MobileBroadbandCurrentSlotIndexChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>8702     pub fn CurrentSlotIndexChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<MobileBroadbandSlotManager, MobileBroadbandCurrentSlotIndexChangedEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
8703         let this = self;
8704         unsafe {
8705             let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
8706             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
8707         }
8708     }
8709     #[cfg(feature = "Foundation")]
RemoveCurrentSlotIndexChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>8710     pub fn RemoveCurrentSlotIndexChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
8711         let this = self;
8712         unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
8713     }
8714 }
8715 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandSlotManager {
8716     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandSlotManager;{eba07cd6-2019-5f81-a294-cc364a11d0b2})");
8717 }
8718 unsafe impl ::windows::runtime::Interface for MobileBroadbandSlotManager {
8719     type Vtable = IMobileBroadbandSlotManager_abi;
8720     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3953163478, 8217, 24449, [162, 148, 204, 54, 74, 17, 208, 178]);
8721 }
8722 impl ::windows::runtime::RuntimeName for MobileBroadbandSlotManager {
8723     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandSlotManager";
8724 }
8725 impl ::std::convert::From<MobileBroadbandSlotManager> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandSlotManager) -> Self8726     fn from(value: MobileBroadbandSlotManager) -> Self {
8727         unsafe { ::std::mem::transmute(value) }
8728     }
8729 }
8730 impl ::std::convert::From<&MobileBroadbandSlotManager> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandSlotManager) -> Self8731     fn from(value: &MobileBroadbandSlotManager) -> Self {
8732         ::std::convert::From::from(::std::clone::Clone::clone(value))
8733     }
8734 }
8735 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandSlotManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8736     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8737         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8738     }
8739 }
8740 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandSlotManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8741     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8742         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8743     }
8744 }
8745 impl ::std::convert::From<MobileBroadbandSlotManager> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandSlotManager) -> Self8746     fn from(value: MobileBroadbandSlotManager) -> Self {
8747         value.0
8748     }
8749 }
8750 impl ::std::convert::From<&MobileBroadbandSlotManager> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandSlotManager) -> Self8751     fn from(value: &MobileBroadbandSlotManager) -> Self {
8752         value.0.clone()
8753     }
8754 }
8755 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandSlotManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>8756     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
8757         ::windows::runtime::Param::Owned(self.0)
8758     }
8759 }
8760 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandSlotManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>8761     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
8762         ::windows::runtime::Param::Borrowed(&self.0)
8763     }
8764 }
8765 unsafe impl ::std::marker::Send for MobileBroadbandSlotManager {}
8766 unsafe impl ::std::marker::Sync for MobileBroadbandSlotManager {}
8767 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
8768 #[repr(transparent)]
8769 pub struct MobileBroadbandSlotState(pub i32);
8770 impl MobileBroadbandSlotState {
8771     pub const Unmanaged: MobileBroadbandSlotState = MobileBroadbandSlotState(0i32);
8772     pub const Unknown: MobileBroadbandSlotState = MobileBroadbandSlotState(1i32);
8773     pub const OffEmpty: MobileBroadbandSlotState = MobileBroadbandSlotState(2i32);
8774     pub const Off: MobileBroadbandSlotState = MobileBroadbandSlotState(3i32);
8775     pub const Empty: MobileBroadbandSlotState = MobileBroadbandSlotState(4i32);
8776     pub const NotReady: MobileBroadbandSlotState = MobileBroadbandSlotState(5i32);
8777     pub const Active: MobileBroadbandSlotState = MobileBroadbandSlotState(6i32);
8778     pub const Error: MobileBroadbandSlotState = MobileBroadbandSlotState(7i32);
8779     pub const ActiveEsim: MobileBroadbandSlotState = MobileBroadbandSlotState(8i32);
8780     pub const ActiveEsimNoProfile: MobileBroadbandSlotState = MobileBroadbandSlotState(9i32);
8781 }
8782 impl ::std::convert::From<i32> for MobileBroadbandSlotState {
from(value: i32) -> Self8783     fn from(value: i32) -> Self {
8784         Self(value)
8785     }
8786 }
8787 unsafe impl ::windows::runtime::Abi for MobileBroadbandSlotState {
8788     type Abi = Self;
8789     type DefaultType = Self;
8790 }
8791 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandSlotState {
8792     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Networking.NetworkOperators.MobileBroadbandSlotState;i4)");
8793 }
8794 #[repr(transparent)]
8795 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8796 pub struct MobileBroadbandTransmissionStateChangedEventArgs(::windows::runtime::IInspectable);
8797 impl MobileBroadbandTransmissionStateChangedEventArgs {
IsTransmitting(&self) -> ::windows::runtime::Result<bool>8798     pub fn IsTransmitting(&self) -> ::windows::runtime::Result<bool> {
8799         let this = self;
8800         unsafe {
8801             let mut result__: bool = ::std::mem::zeroed();
8802             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
8803         }
8804     }
8805 }
8806 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandTransmissionStateChangedEventArgs {
8807     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandTransmissionStateChangedEventArgs;{612e3875-040a-4f99-a4f9-61d7c32da129})");
8808 }
8809 unsafe impl ::windows::runtime::Interface for MobileBroadbandTransmissionStateChangedEventArgs {
8810     type Vtable = IMobileBroadbandTransmissionStateChangedEventArgs_abi;
8811     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1630419061, 1034, 20377, [164, 249, 97, 215, 195, 45, 161, 41]);
8812 }
8813 impl ::windows::runtime::RuntimeName for MobileBroadbandTransmissionStateChangedEventArgs {
8814     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandTransmissionStateChangedEventArgs";
8815 }
8816 impl ::std::convert::From<MobileBroadbandTransmissionStateChangedEventArgs> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandTransmissionStateChangedEventArgs) -> Self8817     fn from(value: MobileBroadbandTransmissionStateChangedEventArgs) -> Self {
8818         unsafe { ::std::mem::transmute(value) }
8819     }
8820 }
8821 impl ::std::convert::From<&MobileBroadbandTransmissionStateChangedEventArgs> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandTransmissionStateChangedEventArgs) -> Self8822     fn from(value: &MobileBroadbandTransmissionStateChangedEventArgs) -> Self {
8823         ::std::convert::From::from(::std::clone::Clone::clone(value))
8824     }
8825 }
8826 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandTransmissionStateChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8827     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8828         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8829     }
8830 }
8831 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandTransmissionStateChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8832     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8833         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8834     }
8835 }
8836 impl ::std::convert::From<MobileBroadbandTransmissionStateChangedEventArgs> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandTransmissionStateChangedEventArgs) -> Self8837     fn from(value: MobileBroadbandTransmissionStateChangedEventArgs) -> Self {
8838         value.0
8839     }
8840 }
8841 impl ::std::convert::From<&MobileBroadbandTransmissionStateChangedEventArgs> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandTransmissionStateChangedEventArgs) -> Self8842     fn from(value: &MobileBroadbandTransmissionStateChangedEventArgs) -> Self {
8843         value.0.clone()
8844     }
8845 }
8846 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandTransmissionStateChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>8847     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
8848         ::windows::runtime::Param::Owned(self.0)
8849     }
8850 }
8851 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandTransmissionStateChangedEventArgs {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>8852     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
8853         ::windows::runtime::Param::Borrowed(&self.0)
8854     }
8855 }
8856 unsafe impl ::std::marker::Send for MobileBroadbandTransmissionStateChangedEventArgs {}
8857 unsafe impl ::std::marker::Sync for MobileBroadbandTransmissionStateChangedEventArgs {}
8858 #[repr(transparent)]
8859 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8860 pub struct MobileBroadbandUicc(::windows::runtime::IInspectable);
8861 impl MobileBroadbandUicc {
SimIccId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>8862     pub fn SimIccId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
8863         let this = self;
8864         unsafe {
8865             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
8866             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
8867         }
8868     }
8869     #[cfg(feature = "Foundation")]
GetUiccAppsAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<MobileBroadbandUiccAppsResult>>8870     pub fn GetUiccAppsAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<MobileBroadbandUiccAppsResult>> {
8871         let this = self;
8872         unsafe {
8873             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8874             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<MobileBroadbandUiccAppsResult>>(result__)
8875         }
8876     }
8877 }
8878 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandUicc {
8879     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandUicc;{e634f691-525a-4ce2-8fce-aa4162579154})");
8880 }
8881 unsafe impl ::windows::runtime::Interface for MobileBroadbandUicc {
8882     type Vtable = IMobileBroadbandUicc_abi;
8883     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3862230673, 21082, 19682, [143, 206, 170, 65, 98, 87, 145, 84]);
8884 }
8885 impl ::windows::runtime::RuntimeName for MobileBroadbandUicc {
8886     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandUicc";
8887 }
8888 impl ::std::convert::From<MobileBroadbandUicc> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandUicc) -> Self8889     fn from(value: MobileBroadbandUicc) -> Self {
8890         unsafe { ::std::mem::transmute(value) }
8891     }
8892 }
8893 impl ::std::convert::From<&MobileBroadbandUicc> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandUicc) -> Self8894     fn from(value: &MobileBroadbandUicc) -> Self {
8895         ::std::convert::From::from(::std::clone::Clone::clone(value))
8896     }
8897 }
8898 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandUicc {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8899     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8900         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8901     }
8902 }
8903 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandUicc {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8904     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8905         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8906     }
8907 }
8908 impl ::std::convert::From<MobileBroadbandUicc> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandUicc) -> Self8909     fn from(value: MobileBroadbandUicc) -> Self {
8910         value.0
8911     }
8912 }
8913 impl ::std::convert::From<&MobileBroadbandUicc> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandUicc) -> Self8914     fn from(value: &MobileBroadbandUicc) -> Self {
8915         value.0.clone()
8916     }
8917 }
8918 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandUicc {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>8919     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
8920         ::windows::runtime::Param::Owned(self.0)
8921     }
8922 }
8923 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandUicc {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>8924     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
8925         ::windows::runtime::Param::Borrowed(&self.0)
8926     }
8927 }
8928 unsafe impl ::std::marker::Send for MobileBroadbandUicc {}
8929 unsafe impl ::std::marker::Sync for MobileBroadbandUicc {}
8930 #[repr(transparent)]
8931 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
8932 pub struct MobileBroadbandUiccApp(::windows::runtime::IInspectable);
8933 impl MobileBroadbandUiccApp {
8934     #[cfg(feature = "Storage_Streams")]
Id(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IBuffer>8935     pub fn Id(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IBuffer> {
8936         let this = self;
8937         unsafe {
8938             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8939             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Storage::Streams::IBuffer>(result__)
8940         }
8941     }
Kind(&self) -> ::windows::runtime::Result<UiccAppKind>8942     pub fn Kind(&self) -> ::windows::runtime::Result<UiccAppKind> {
8943         let this = self;
8944         unsafe {
8945             let mut result__: UiccAppKind = ::std::mem::zeroed();
8946             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UiccAppKind>(result__)
8947         }
8948     }
8949     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
GetRecordDetailsAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<u32>>>(&self, uiccfilepath: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<MobileBroadbandUiccAppRecordDetailsResult>>8950     pub fn GetRecordDetailsAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<u32>>>(&self, uiccfilepath: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<MobileBroadbandUiccAppRecordDetailsResult>> {
8951         let this = self;
8952         unsafe {
8953             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8954             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), uiccfilepath.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<MobileBroadbandUiccAppRecordDetailsResult>>(result__)
8955         }
8956     }
8957     #[cfg(all(feature = "Foundation", feature = "Foundation_Collections"))]
ReadRecordAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<u32>>>(&self, uiccfilepath: Param0, recordindex: i32) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<MobileBroadbandUiccAppReadRecordResult>>8958     pub fn ReadRecordAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::Collections::IIterable<u32>>>(&self, uiccfilepath: Param0, recordindex: i32) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<MobileBroadbandUiccAppReadRecordResult>> {
8959         let this = self;
8960         unsafe {
8961             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
8962             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), uiccfilepath.into_param().abi(), recordindex, &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<MobileBroadbandUiccAppReadRecordResult>>(result__)
8963         }
8964     }
8965 }
8966 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandUiccApp {
8967     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandUiccApp;{4d170556-98a1-43dd-b2ec-50c90cf248df})");
8968 }
8969 unsafe impl ::windows::runtime::Interface for MobileBroadbandUiccApp {
8970     type Vtable = IMobileBroadbandUiccApp_abi;
8971     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1293354326, 39073, 17373, [178, 236, 80, 201, 12, 242, 72, 223]);
8972 }
8973 impl ::windows::runtime::RuntimeName for MobileBroadbandUiccApp {
8974     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandUiccApp";
8975 }
8976 impl ::std::convert::From<MobileBroadbandUiccApp> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandUiccApp) -> Self8977     fn from(value: MobileBroadbandUiccApp) -> Self {
8978         unsafe { ::std::mem::transmute(value) }
8979     }
8980 }
8981 impl ::std::convert::From<&MobileBroadbandUiccApp> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandUiccApp) -> Self8982     fn from(value: &MobileBroadbandUiccApp) -> Self {
8983         ::std::convert::From::from(::std::clone::Clone::clone(value))
8984     }
8985 }
8986 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandUiccApp {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8987     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8988         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
8989     }
8990 }
8991 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandUiccApp {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>8992     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
8993         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
8994     }
8995 }
8996 impl ::std::convert::From<MobileBroadbandUiccApp> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandUiccApp) -> Self8997     fn from(value: MobileBroadbandUiccApp) -> Self {
8998         value.0
8999     }
9000 }
9001 impl ::std::convert::From<&MobileBroadbandUiccApp> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandUiccApp) -> Self9002     fn from(value: &MobileBroadbandUiccApp) -> Self {
9003         value.0.clone()
9004     }
9005 }
9006 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandUiccApp {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>9007     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
9008         ::windows::runtime::Param::Owned(self.0)
9009     }
9010 }
9011 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandUiccApp {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>9012     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
9013         ::windows::runtime::Param::Borrowed(&self.0)
9014     }
9015 }
9016 unsafe impl ::std::marker::Send for MobileBroadbandUiccApp {}
9017 unsafe impl ::std::marker::Sync for MobileBroadbandUiccApp {}
9018 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9019 #[repr(transparent)]
9020 pub struct MobileBroadbandUiccAppOperationStatus(pub i32);
9021 impl MobileBroadbandUiccAppOperationStatus {
9022     pub const Success: MobileBroadbandUiccAppOperationStatus = MobileBroadbandUiccAppOperationStatus(0i32);
9023     pub const InvalidUiccFilePath: MobileBroadbandUiccAppOperationStatus = MobileBroadbandUiccAppOperationStatus(1i32);
9024     pub const AccessConditionNotHeld: MobileBroadbandUiccAppOperationStatus = MobileBroadbandUiccAppOperationStatus(2i32);
9025     pub const UiccBusy: MobileBroadbandUiccAppOperationStatus = MobileBroadbandUiccAppOperationStatus(3i32);
9026 }
9027 impl ::std::convert::From<i32> for MobileBroadbandUiccAppOperationStatus {
from(value: i32) -> Self9028     fn from(value: i32) -> Self {
9029         Self(value)
9030     }
9031 }
9032 unsafe impl ::windows::runtime::Abi for MobileBroadbandUiccAppOperationStatus {
9033     type Abi = Self;
9034     type DefaultType = Self;
9035 }
9036 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandUiccAppOperationStatus {
9037     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Networking.NetworkOperators.MobileBroadbandUiccAppOperationStatus;i4)");
9038 }
9039 #[repr(transparent)]
9040 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9041 pub struct MobileBroadbandUiccAppReadRecordResult(::windows::runtime::IInspectable);
9042 impl MobileBroadbandUiccAppReadRecordResult {
Status(&self) -> ::windows::runtime::Result<MobileBroadbandUiccAppOperationStatus>9043     pub fn Status(&self) -> ::windows::runtime::Result<MobileBroadbandUiccAppOperationStatus> {
9044         let this = self;
9045         unsafe {
9046             let mut result__: MobileBroadbandUiccAppOperationStatus = ::std::mem::zeroed();
9047             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MobileBroadbandUiccAppOperationStatus>(result__)
9048         }
9049     }
9050     #[cfg(feature = "Storage_Streams")]
Data(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IBuffer>9051     pub fn Data(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IBuffer> {
9052         let this = self;
9053         unsafe {
9054             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9055             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Storage::Streams::IBuffer>(result__)
9056         }
9057     }
9058 }
9059 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandUiccAppReadRecordResult {
9060     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandUiccAppReadRecordResult;{64c95285-358e-47c5-8249-695f383b2bdb})");
9061 }
9062 unsafe impl ::windows::runtime::Interface for MobileBroadbandUiccAppReadRecordResult {
9063     type Vtable = IMobileBroadbandUiccAppReadRecordResult_abi;
9064     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1690915461, 13710, 18373, [130, 73, 105, 95, 56, 59, 43, 219]);
9065 }
9066 impl ::windows::runtime::RuntimeName for MobileBroadbandUiccAppReadRecordResult {
9067     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandUiccAppReadRecordResult";
9068 }
9069 impl ::std::convert::From<MobileBroadbandUiccAppReadRecordResult> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandUiccAppReadRecordResult) -> Self9070     fn from(value: MobileBroadbandUiccAppReadRecordResult) -> Self {
9071         unsafe { ::std::mem::transmute(value) }
9072     }
9073 }
9074 impl ::std::convert::From<&MobileBroadbandUiccAppReadRecordResult> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandUiccAppReadRecordResult) -> Self9075     fn from(value: &MobileBroadbandUiccAppReadRecordResult) -> Self {
9076         ::std::convert::From::from(::std::clone::Clone::clone(value))
9077     }
9078 }
9079 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandUiccAppReadRecordResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9080     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9081         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9082     }
9083 }
9084 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandUiccAppReadRecordResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9085     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9086         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9087     }
9088 }
9089 impl ::std::convert::From<MobileBroadbandUiccAppReadRecordResult> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandUiccAppReadRecordResult) -> Self9090     fn from(value: MobileBroadbandUiccAppReadRecordResult) -> Self {
9091         value.0
9092     }
9093 }
9094 impl ::std::convert::From<&MobileBroadbandUiccAppReadRecordResult> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandUiccAppReadRecordResult) -> Self9095     fn from(value: &MobileBroadbandUiccAppReadRecordResult) -> Self {
9096         value.0.clone()
9097     }
9098 }
9099 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandUiccAppReadRecordResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>9100     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
9101         ::windows::runtime::Param::Owned(self.0)
9102     }
9103 }
9104 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandUiccAppReadRecordResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>9105     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
9106         ::windows::runtime::Param::Borrowed(&self.0)
9107     }
9108 }
9109 unsafe impl ::std::marker::Send for MobileBroadbandUiccAppReadRecordResult {}
9110 unsafe impl ::std::marker::Sync for MobileBroadbandUiccAppReadRecordResult {}
9111 #[repr(transparent)]
9112 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9113 pub struct MobileBroadbandUiccAppRecordDetailsResult(::windows::runtime::IInspectable);
9114 impl MobileBroadbandUiccAppRecordDetailsResult {
Status(&self) -> ::windows::runtime::Result<MobileBroadbandUiccAppOperationStatus>9115     pub fn Status(&self) -> ::windows::runtime::Result<MobileBroadbandUiccAppOperationStatus> {
9116         let this = self;
9117         unsafe {
9118             let mut result__: MobileBroadbandUiccAppOperationStatus = ::std::mem::zeroed();
9119             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MobileBroadbandUiccAppOperationStatus>(result__)
9120         }
9121     }
Kind(&self) -> ::windows::runtime::Result<UiccAppRecordKind>9122     pub fn Kind(&self) -> ::windows::runtime::Result<UiccAppRecordKind> {
9123         let this = self;
9124         unsafe {
9125             let mut result__: UiccAppRecordKind = ::std::mem::zeroed();
9126             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UiccAppRecordKind>(result__)
9127         }
9128     }
RecordCount(&self) -> ::windows::runtime::Result<i32>9129     pub fn RecordCount(&self) -> ::windows::runtime::Result<i32> {
9130         let this = self;
9131         unsafe {
9132             let mut result__: i32 = ::std::mem::zeroed();
9133             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
9134         }
9135     }
RecordSize(&self) -> ::windows::runtime::Result<i32>9136     pub fn RecordSize(&self) -> ::windows::runtime::Result<i32> {
9137         let this = self;
9138         unsafe {
9139             let mut result__: i32 = ::std::mem::zeroed();
9140             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<i32>(result__)
9141         }
9142     }
ReadAccessCondition(&self) -> ::windows::runtime::Result<UiccAccessCondition>9143     pub fn ReadAccessCondition(&self) -> ::windows::runtime::Result<UiccAccessCondition> {
9144         let this = self;
9145         unsafe {
9146             let mut result__: UiccAccessCondition = ::std::mem::zeroed();
9147             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UiccAccessCondition>(result__)
9148         }
9149     }
WriteAccessCondition(&self) -> ::windows::runtime::Result<UiccAccessCondition>9150     pub fn WriteAccessCondition(&self) -> ::windows::runtime::Result<UiccAccessCondition> {
9151         let this = self;
9152         unsafe {
9153             let mut result__: UiccAccessCondition = ::std::mem::zeroed();
9154             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UiccAccessCondition>(result__)
9155         }
9156     }
9157 }
9158 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandUiccAppRecordDetailsResult {
9159     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandUiccAppRecordDetailsResult;{d919682f-be14-4934-981d-2f57b9ed83e6})");
9160 }
9161 unsafe impl ::windows::runtime::Interface for MobileBroadbandUiccAppRecordDetailsResult {
9162     type Vtable = IMobileBroadbandUiccAppRecordDetailsResult_abi;
9163     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3642320943, 48660, 18740, [152, 29, 47, 87, 185, 237, 131, 230]);
9164 }
9165 impl ::windows::runtime::RuntimeName for MobileBroadbandUiccAppRecordDetailsResult {
9166     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandUiccAppRecordDetailsResult";
9167 }
9168 impl ::std::convert::From<MobileBroadbandUiccAppRecordDetailsResult> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandUiccAppRecordDetailsResult) -> Self9169     fn from(value: MobileBroadbandUiccAppRecordDetailsResult) -> Self {
9170         unsafe { ::std::mem::transmute(value) }
9171     }
9172 }
9173 impl ::std::convert::From<&MobileBroadbandUiccAppRecordDetailsResult> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandUiccAppRecordDetailsResult) -> Self9174     fn from(value: &MobileBroadbandUiccAppRecordDetailsResult) -> Self {
9175         ::std::convert::From::from(::std::clone::Clone::clone(value))
9176     }
9177 }
9178 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandUiccAppRecordDetailsResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9179     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9180         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9181     }
9182 }
9183 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandUiccAppRecordDetailsResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9184     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9185         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9186     }
9187 }
9188 impl ::std::convert::From<MobileBroadbandUiccAppRecordDetailsResult> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandUiccAppRecordDetailsResult) -> Self9189     fn from(value: MobileBroadbandUiccAppRecordDetailsResult) -> Self {
9190         value.0
9191     }
9192 }
9193 impl ::std::convert::From<&MobileBroadbandUiccAppRecordDetailsResult> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandUiccAppRecordDetailsResult) -> Self9194     fn from(value: &MobileBroadbandUiccAppRecordDetailsResult) -> Self {
9195         value.0.clone()
9196     }
9197 }
9198 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandUiccAppRecordDetailsResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>9199     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
9200         ::windows::runtime::Param::Owned(self.0)
9201     }
9202 }
9203 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandUiccAppRecordDetailsResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>9204     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
9205         ::windows::runtime::Param::Borrowed(&self.0)
9206     }
9207 }
9208 unsafe impl ::std::marker::Send for MobileBroadbandUiccAppRecordDetailsResult {}
9209 unsafe impl ::std::marker::Sync for MobileBroadbandUiccAppRecordDetailsResult {}
9210 #[repr(transparent)]
9211 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9212 pub struct MobileBroadbandUiccAppsResult(::windows::runtime::IInspectable);
9213 impl MobileBroadbandUiccAppsResult {
Status(&self) -> ::windows::runtime::Result<MobileBroadbandUiccAppOperationStatus>9214     pub fn Status(&self) -> ::windows::runtime::Result<MobileBroadbandUiccAppOperationStatus> {
9215         let this = self;
9216         unsafe {
9217             let mut result__: MobileBroadbandUiccAppOperationStatus = ::std::mem::zeroed();
9218             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<MobileBroadbandUiccAppOperationStatus>(result__)
9219         }
9220     }
9221     #[cfg(feature = "Foundation_Collections")]
UiccApps(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandUiccApp>>9222     pub fn UiccApps(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<MobileBroadbandUiccApp>> {
9223         let this = self;
9224         unsafe {
9225             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9226             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<MobileBroadbandUiccApp>>(result__)
9227         }
9228     }
9229 }
9230 unsafe impl ::windows::runtime::RuntimeType for MobileBroadbandUiccAppsResult {
9231     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.MobileBroadbandUiccAppsResult;{744930eb-8157-4a41-8494-6bf54c9b1d2b})");
9232 }
9233 unsafe impl ::windows::runtime::Interface for MobileBroadbandUiccAppsResult {
9234     type Vtable = IMobileBroadbandUiccAppsResult_abi;
9235     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1950953707, 33111, 19009, [132, 148, 107, 245, 76, 155, 29, 43]);
9236 }
9237 impl ::windows::runtime::RuntimeName for MobileBroadbandUiccAppsResult {
9238     const NAME: &'static str = "Windows.Networking.NetworkOperators.MobileBroadbandUiccAppsResult";
9239 }
9240 impl ::std::convert::From<MobileBroadbandUiccAppsResult> for ::windows::runtime::IUnknown {
from(value: MobileBroadbandUiccAppsResult) -> Self9241     fn from(value: MobileBroadbandUiccAppsResult) -> Self {
9242         unsafe { ::std::mem::transmute(value) }
9243     }
9244 }
9245 impl ::std::convert::From<&MobileBroadbandUiccAppsResult> for ::windows::runtime::IUnknown {
from(value: &MobileBroadbandUiccAppsResult) -> Self9246     fn from(value: &MobileBroadbandUiccAppsResult) -> Self {
9247         ::std::convert::From::from(::std::clone::Clone::clone(value))
9248     }
9249 }
9250 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for MobileBroadbandUiccAppsResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9251     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9252         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9253     }
9254 }
9255 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &MobileBroadbandUiccAppsResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9256     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9257         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9258     }
9259 }
9260 impl ::std::convert::From<MobileBroadbandUiccAppsResult> for ::windows::runtime::IInspectable {
from(value: MobileBroadbandUiccAppsResult) -> Self9261     fn from(value: MobileBroadbandUiccAppsResult) -> Self {
9262         value.0
9263     }
9264 }
9265 impl ::std::convert::From<&MobileBroadbandUiccAppsResult> for ::windows::runtime::IInspectable {
from(value: &MobileBroadbandUiccAppsResult) -> Self9266     fn from(value: &MobileBroadbandUiccAppsResult) -> Self {
9267         value.0.clone()
9268     }
9269 }
9270 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for MobileBroadbandUiccAppsResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>9271     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
9272         ::windows::runtime::Param::Owned(self.0)
9273     }
9274 }
9275 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a MobileBroadbandUiccAppsResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>9276     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
9277         ::windows::runtime::Param::Borrowed(&self.0)
9278     }
9279 }
9280 unsafe impl ::std::marker::Send for MobileBroadbandUiccAppsResult {}
9281 unsafe impl ::std::marker::Sync for MobileBroadbandUiccAppsResult {}
9282 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9283 #[repr(transparent)]
9284 pub struct NetworkDeviceStatus(pub i32);
9285 impl NetworkDeviceStatus {
9286     pub const DeviceNotReady: NetworkDeviceStatus = NetworkDeviceStatus(0i32);
9287     pub const DeviceReady: NetworkDeviceStatus = NetworkDeviceStatus(1i32);
9288     pub const SimNotInserted: NetworkDeviceStatus = NetworkDeviceStatus(2i32);
9289     pub const BadSim: NetworkDeviceStatus = NetworkDeviceStatus(3i32);
9290     pub const DeviceHardwareFailure: NetworkDeviceStatus = NetworkDeviceStatus(4i32);
9291     pub const AccountNotActivated: NetworkDeviceStatus = NetworkDeviceStatus(5i32);
9292     pub const DeviceLocked: NetworkDeviceStatus = NetworkDeviceStatus(6i32);
9293     pub const DeviceBlocked: NetworkDeviceStatus = NetworkDeviceStatus(7i32);
9294 }
9295 impl ::std::convert::From<i32> for NetworkDeviceStatus {
from(value: i32) -> Self9296     fn from(value: i32) -> Self {
9297         Self(value)
9298     }
9299 }
9300 unsafe impl ::windows::runtime::Abi for NetworkDeviceStatus {
9301     type Abi = Self;
9302     type DefaultType = Self;
9303 }
9304 unsafe impl ::windows::runtime::RuntimeType for NetworkDeviceStatus {
9305     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Networking.NetworkOperators.NetworkDeviceStatus;i4)");
9306 }
9307 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9308 #[repr(transparent)]
9309 pub struct NetworkOperatorDataUsageNotificationKind(pub i32);
9310 impl NetworkOperatorDataUsageNotificationKind {
9311     pub const DataUsageProgress: NetworkOperatorDataUsageNotificationKind = NetworkOperatorDataUsageNotificationKind(0i32);
9312 }
9313 impl ::std::convert::From<i32> for NetworkOperatorDataUsageNotificationKind {
from(value: i32) -> Self9314     fn from(value: i32) -> Self {
9315         Self(value)
9316     }
9317 }
9318 unsafe impl ::windows::runtime::Abi for NetworkOperatorDataUsageNotificationKind {
9319     type Abi = Self;
9320     type DefaultType = Self;
9321 }
9322 unsafe impl ::windows::runtime::RuntimeType for NetworkOperatorDataUsageNotificationKind {
9323     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Networking.NetworkOperators.NetworkOperatorDataUsageNotificationKind;i4)");
9324 }
9325 #[repr(transparent)]
9326 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9327 pub struct NetworkOperatorDataUsageTriggerDetails(::windows::runtime::IInspectable);
9328 impl NetworkOperatorDataUsageTriggerDetails {
NotificationKind(&self) -> ::windows::runtime::Result<NetworkOperatorDataUsageNotificationKind>9329     pub fn NotificationKind(&self) -> ::windows::runtime::Result<NetworkOperatorDataUsageNotificationKind> {
9330         let this = self;
9331         unsafe {
9332             let mut result__: NetworkOperatorDataUsageNotificationKind = ::std::mem::zeroed();
9333             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<NetworkOperatorDataUsageNotificationKind>(result__)
9334         }
9335     }
9336 }
9337 unsafe impl ::windows::runtime::RuntimeType for NetworkOperatorDataUsageTriggerDetails {
9338     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.NetworkOperatorDataUsageTriggerDetails;{50e3126d-a465-4eeb-9317-28a167630cea})");
9339 }
9340 unsafe impl ::windows::runtime::Interface for NetworkOperatorDataUsageTriggerDetails {
9341     type Vtable = INetworkOperatorDataUsageTriggerDetails_abi;
9342     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1357058669, 42085, 20203, [147, 23, 40, 161, 103, 99, 12, 234]);
9343 }
9344 impl ::windows::runtime::RuntimeName for NetworkOperatorDataUsageTriggerDetails {
9345     const NAME: &'static str = "Windows.Networking.NetworkOperators.NetworkOperatorDataUsageTriggerDetails";
9346 }
9347 impl ::std::convert::From<NetworkOperatorDataUsageTriggerDetails> for ::windows::runtime::IUnknown {
from(value: NetworkOperatorDataUsageTriggerDetails) -> Self9348     fn from(value: NetworkOperatorDataUsageTriggerDetails) -> Self {
9349         unsafe { ::std::mem::transmute(value) }
9350     }
9351 }
9352 impl ::std::convert::From<&NetworkOperatorDataUsageTriggerDetails> for ::windows::runtime::IUnknown {
from(value: &NetworkOperatorDataUsageTriggerDetails) -> Self9353     fn from(value: &NetworkOperatorDataUsageTriggerDetails) -> Self {
9354         ::std::convert::From::from(::std::clone::Clone::clone(value))
9355     }
9356 }
9357 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for NetworkOperatorDataUsageTriggerDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9358     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9359         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9360     }
9361 }
9362 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &NetworkOperatorDataUsageTriggerDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9363     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9364         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9365     }
9366 }
9367 impl ::std::convert::From<NetworkOperatorDataUsageTriggerDetails> for ::windows::runtime::IInspectable {
from(value: NetworkOperatorDataUsageTriggerDetails) -> Self9368     fn from(value: NetworkOperatorDataUsageTriggerDetails) -> Self {
9369         value.0
9370     }
9371 }
9372 impl ::std::convert::From<&NetworkOperatorDataUsageTriggerDetails> for ::windows::runtime::IInspectable {
from(value: &NetworkOperatorDataUsageTriggerDetails) -> Self9373     fn from(value: &NetworkOperatorDataUsageTriggerDetails) -> Self {
9374         value.0.clone()
9375     }
9376 }
9377 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for NetworkOperatorDataUsageTriggerDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>9378     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
9379         ::windows::runtime::Param::Owned(self.0)
9380     }
9381 }
9382 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a NetworkOperatorDataUsageTriggerDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>9383     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
9384         ::windows::runtime::Param::Borrowed(&self.0)
9385     }
9386 }
9387 unsafe impl ::std::marker::Send for NetworkOperatorDataUsageTriggerDetails {}
9388 unsafe impl ::std::marker::Sync for NetworkOperatorDataUsageTriggerDetails {}
9389 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9390 #[repr(transparent)]
9391 pub struct NetworkOperatorEventMessageType(pub i32);
9392 impl NetworkOperatorEventMessageType {
9393     pub const Gsm: NetworkOperatorEventMessageType = NetworkOperatorEventMessageType(0i32);
9394     pub const Cdma: NetworkOperatorEventMessageType = NetworkOperatorEventMessageType(1i32);
9395     pub const Ussd: NetworkOperatorEventMessageType = NetworkOperatorEventMessageType(2i32);
9396     pub const DataPlanThresholdReached: NetworkOperatorEventMessageType = NetworkOperatorEventMessageType(3i32);
9397     pub const DataPlanReset: NetworkOperatorEventMessageType = NetworkOperatorEventMessageType(4i32);
9398     pub const DataPlanDeleted: NetworkOperatorEventMessageType = NetworkOperatorEventMessageType(5i32);
9399     pub const ProfileConnected: NetworkOperatorEventMessageType = NetworkOperatorEventMessageType(6i32);
9400     pub const ProfileDisconnected: NetworkOperatorEventMessageType = NetworkOperatorEventMessageType(7i32);
9401     pub const RegisteredRoaming: NetworkOperatorEventMessageType = NetworkOperatorEventMessageType(8i32);
9402     pub const RegisteredHome: NetworkOperatorEventMessageType = NetworkOperatorEventMessageType(9i32);
9403     pub const TetheringEntitlementCheck: NetworkOperatorEventMessageType = NetworkOperatorEventMessageType(10i32);
9404     pub const TetheringOperationalStateChanged: NetworkOperatorEventMessageType = NetworkOperatorEventMessageType(11i32);
9405     pub const TetheringNumberOfClientsChanged: NetworkOperatorEventMessageType = NetworkOperatorEventMessageType(12i32);
9406 }
9407 impl ::std::convert::From<i32> for NetworkOperatorEventMessageType {
from(value: i32) -> Self9408     fn from(value: i32) -> Self {
9409         Self(value)
9410     }
9411 }
9412 unsafe impl ::windows::runtime::Abi for NetworkOperatorEventMessageType {
9413     type Abi = Self;
9414     type DefaultType = Self;
9415 }
9416 unsafe impl ::windows::runtime::RuntimeType for NetworkOperatorEventMessageType {
9417     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Networking.NetworkOperators.NetworkOperatorEventMessageType;i4)");
9418 }
9419 #[repr(transparent)]
9420 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9421 pub struct NetworkOperatorNotificationEventDetails(::windows::runtime::IInspectable);
9422 impl NetworkOperatorNotificationEventDetails {
NotificationType(&self) -> ::windows::runtime::Result<NetworkOperatorEventMessageType>9423     pub fn NotificationType(&self) -> ::windows::runtime::Result<NetworkOperatorEventMessageType> {
9424         let this = self;
9425         unsafe {
9426             let mut result__: NetworkOperatorEventMessageType = ::std::mem::zeroed();
9427             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<NetworkOperatorEventMessageType>(result__)
9428         }
9429     }
NetworkAccountId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>9430     pub fn NetworkAccountId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
9431         let this = self;
9432         unsafe {
9433             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
9434             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
9435         }
9436     }
EncodingType(&self) -> ::windows::runtime::Result<u8>9437     pub fn EncodingType(&self) -> ::windows::runtime::Result<u8> {
9438         let this = self;
9439         unsafe {
9440             let mut result__: u8 = ::std::mem::zeroed();
9441             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u8>(result__)
9442         }
9443     }
Message(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>9444     pub fn Message(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
9445         let this = self;
9446         unsafe {
9447             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
9448             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
9449         }
9450     }
RuleId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>9451     pub fn RuleId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
9452         let this = self;
9453         unsafe {
9454             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
9455             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
9456         }
9457     }
9458     #[cfg(feature = "Devices_Sms")]
SmsMessage(&self) -> ::windows::runtime::Result<super::super::Devices::Sms::ISmsMessage>9459     pub fn SmsMessage(&self) -> ::windows::runtime::Result<super::super::Devices::Sms::ISmsMessage> {
9460         let this = self;
9461         unsafe {
9462             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9463             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Devices::Sms::ISmsMessage>(result__)
9464         }
9465     }
AuthorizeTethering<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, allow: bool, entitlementfailurereason: Param1) -> ::windows::runtime::Result<()>9466     pub fn AuthorizeTethering<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, allow: bool, entitlementfailurereason: Param1) -> ::windows::runtime::Result<()> {
9467         let this = &::windows::runtime::Interface::cast::<INetworkOperatorTetheringEntitlementCheck>(self)?;
9468         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), allow, entitlementfailurereason.into_param().abi()).ok() }
9469     }
9470 }
9471 unsafe impl ::windows::runtime::RuntimeType for NetworkOperatorNotificationEventDetails {
9472     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.NetworkOperatorNotificationEventDetails;{bc68a9d1-82e1-4488-9f2c-1276c2468fac})");
9473 }
9474 unsafe impl ::windows::runtime::Interface for NetworkOperatorNotificationEventDetails {
9475     type Vtable = INetworkOperatorNotificationEventDetails_abi;
9476     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3160975825, 33505, 17544, [159, 44, 18, 118, 194, 70, 143, 172]);
9477 }
9478 impl ::windows::runtime::RuntimeName for NetworkOperatorNotificationEventDetails {
9479     const NAME: &'static str = "Windows.Networking.NetworkOperators.NetworkOperatorNotificationEventDetails";
9480 }
9481 impl ::std::convert::From<NetworkOperatorNotificationEventDetails> for ::windows::runtime::IUnknown {
from(value: NetworkOperatorNotificationEventDetails) -> Self9482     fn from(value: NetworkOperatorNotificationEventDetails) -> Self {
9483         unsafe { ::std::mem::transmute(value) }
9484     }
9485 }
9486 impl ::std::convert::From<&NetworkOperatorNotificationEventDetails> for ::windows::runtime::IUnknown {
from(value: &NetworkOperatorNotificationEventDetails) -> Self9487     fn from(value: &NetworkOperatorNotificationEventDetails) -> Self {
9488         ::std::convert::From::from(::std::clone::Clone::clone(value))
9489     }
9490 }
9491 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for NetworkOperatorNotificationEventDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9492     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9493         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9494     }
9495 }
9496 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &NetworkOperatorNotificationEventDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9497     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9498         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9499     }
9500 }
9501 impl ::std::convert::From<NetworkOperatorNotificationEventDetails> for ::windows::runtime::IInspectable {
from(value: NetworkOperatorNotificationEventDetails) -> Self9502     fn from(value: NetworkOperatorNotificationEventDetails) -> Self {
9503         value.0
9504     }
9505 }
9506 impl ::std::convert::From<&NetworkOperatorNotificationEventDetails> for ::windows::runtime::IInspectable {
from(value: &NetworkOperatorNotificationEventDetails) -> Self9507     fn from(value: &NetworkOperatorNotificationEventDetails) -> Self {
9508         value.0.clone()
9509     }
9510 }
9511 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for NetworkOperatorNotificationEventDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>9512     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
9513         ::windows::runtime::Param::Owned(self.0)
9514     }
9515 }
9516 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a NetworkOperatorNotificationEventDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>9517     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
9518         ::windows::runtime::Param::Borrowed(&self.0)
9519     }
9520 }
9521 unsafe impl ::std::marker::Send for NetworkOperatorNotificationEventDetails {}
9522 unsafe impl ::std::marker::Sync for NetworkOperatorNotificationEventDetails {}
9523 #[repr(transparent)]
9524 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9525 pub struct NetworkOperatorTetheringAccessPointConfiguration(::windows::runtime::IInspectable);
9526 impl NetworkOperatorTetheringAccessPointConfiguration {
new() -> ::windows::runtime::Result<Self>9527     pub fn new() -> ::windows::runtime::Result<Self> {
9528         Self::IActivationFactory(|f| f.activate_instance::<Self>())
9529     }
IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>9530     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
9531         static mut SHARED: ::windows::runtime::FactoryCache<NetworkOperatorTetheringAccessPointConfiguration, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
9532         unsafe { SHARED.call(callback) }
9533     }
Ssid(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>9534     pub fn Ssid(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
9535         let this = self;
9536         unsafe {
9537             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
9538             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
9539         }
9540     }
SetSsid<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>9541     pub fn SetSsid<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
9542         let this = self;
9543         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
9544     }
Passphrase(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>9545     pub fn Passphrase(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
9546         let this = self;
9547         unsafe {
9548             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
9549             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
9550         }
9551     }
SetPassphrase<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>9552     pub fn SetPassphrase<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
9553         let this = self;
9554         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
9555     }
IsBandSupported(&self, band: TetheringWiFiBand) -> ::windows::runtime::Result<bool>9556     pub fn IsBandSupported(&self, band: TetheringWiFiBand) -> ::windows::runtime::Result<bool> {
9557         let this = &::windows::runtime::Interface::cast::<INetworkOperatorTetheringAccessPointConfiguration2>(self)?;
9558         unsafe {
9559             let mut result__: bool = ::std::mem::zeroed();
9560             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), band, &mut result__).from_abi::<bool>(result__)
9561         }
9562     }
9563     #[cfg(feature = "Foundation")]
IsBandSupportedAsync(&self, band: TetheringWiFiBand) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<bool>>9564     pub fn IsBandSupportedAsync(&self, band: TetheringWiFiBand) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<bool>> {
9565         let this = &::windows::runtime::Interface::cast::<INetworkOperatorTetheringAccessPointConfiguration2>(self)?;
9566         unsafe {
9567             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9568             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), band, &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<bool>>(result__)
9569         }
9570     }
Band(&self) -> ::windows::runtime::Result<TetheringWiFiBand>9571     pub fn Band(&self) -> ::windows::runtime::Result<TetheringWiFiBand> {
9572         let this = &::windows::runtime::Interface::cast::<INetworkOperatorTetheringAccessPointConfiguration2>(self)?;
9573         unsafe {
9574             let mut result__: TetheringWiFiBand = ::std::mem::zeroed();
9575             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<TetheringWiFiBand>(result__)
9576         }
9577     }
SetBand(&self, value: TetheringWiFiBand) -> ::windows::runtime::Result<()>9578     pub fn SetBand(&self, value: TetheringWiFiBand) -> ::windows::runtime::Result<()> {
9579         let this = &::windows::runtime::Interface::cast::<INetworkOperatorTetheringAccessPointConfiguration2>(self)?;
9580         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() }
9581     }
9582 }
9583 unsafe impl ::windows::runtime::RuntimeType for NetworkOperatorTetheringAccessPointConfiguration {
9584     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.NetworkOperatorTetheringAccessPointConfiguration;{0bcc0284-412e-403d-acc6-b757e34774a4})");
9585 }
9586 unsafe impl ::windows::runtime::Interface for NetworkOperatorTetheringAccessPointConfiguration {
9587     type Vtable = INetworkOperatorTetheringAccessPointConfiguration_abi;
9588     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(197919364, 16686, 16445, [172, 198, 183, 87, 227, 71, 116, 164]);
9589 }
9590 impl ::windows::runtime::RuntimeName for NetworkOperatorTetheringAccessPointConfiguration {
9591     const NAME: &'static str = "Windows.Networking.NetworkOperators.NetworkOperatorTetheringAccessPointConfiguration";
9592 }
9593 impl ::std::convert::From<NetworkOperatorTetheringAccessPointConfiguration> for ::windows::runtime::IUnknown {
from(value: NetworkOperatorTetheringAccessPointConfiguration) -> Self9594     fn from(value: NetworkOperatorTetheringAccessPointConfiguration) -> Self {
9595         unsafe { ::std::mem::transmute(value) }
9596     }
9597 }
9598 impl ::std::convert::From<&NetworkOperatorTetheringAccessPointConfiguration> for ::windows::runtime::IUnknown {
from(value: &NetworkOperatorTetheringAccessPointConfiguration) -> Self9599     fn from(value: &NetworkOperatorTetheringAccessPointConfiguration) -> Self {
9600         ::std::convert::From::from(::std::clone::Clone::clone(value))
9601     }
9602 }
9603 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for NetworkOperatorTetheringAccessPointConfiguration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9604     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9605         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9606     }
9607 }
9608 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &NetworkOperatorTetheringAccessPointConfiguration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9609     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9610         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9611     }
9612 }
9613 impl ::std::convert::From<NetworkOperatorTetheringAccessPointConfiguration> for ::windows::runtime::IInspectable {
from(value: NetworkOperatorTetheringAccessPointConfiguration) -> Self9614     fn from(value: NetworkOperatorTetheringAccessPointConfiguration) -> Self {
9615         value.0
9616     }
9617 }
9618 impl ::std::convert::From<&NetworkOperatorTetheringAccessPointConfiguration> for ::windows::runtime::IInspectable {
from(value: &NetworkOperatorTetheringAccessPointConfiguration) -> Self9619     fn from(value: &NetworkOperatorTetheringAccessPointConfiguration) -> Self {
9620         value.0.clone()
9621     }
9622 }
9623 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for NetworkOperatorTetheringAccessPointConfiguration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>9624     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
9625         ::windows::runtime::Param::Owned(self.0)
9626     }
9627 }
9628 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a NetworkOperatorTetheringAccessPointConfiguration {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>9629     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
9630         ::windows::runtime::Param::Borrowed(&self.0)
9631     }
9632 }
9633 unsafe impl ::std::marker::Send for NetworkOperatorTetheringAccessPointConfiguration {}
9634 unsafe impl ::std::marker::Sync for NetworkOperatorTetheringAccessPointConfiguration {}
9635 #[repr(transparent)]
9636 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9637 pub struct NetworkOperatorTetheringClient(::windows::runtime::IInspectable);
9638 impl NetworkOperatorTetheringClient {
MacAddress(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>9639     pub fn MacAddress(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
9640         let this = self;
9641         unsafe {
9642             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
9643             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
9644         }
9645     }
9646     #[cfg(feature = "Foundation_Collections")]
HostNames(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<super::HostName>>9647     pub fn HostNames(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<super::HostName>> {
9648         let this = self;
9649         unsafe {
9650             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9651             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<super::HostName>>(result__)
9652         }
9653     }
9654 }
9655 unsafe impl ::windows::runtime::RuntimeType for NetworkOperatorTetheringClient {
9656     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.NetworkOperatorTetheringClient;{709d254c-595f-4847-bb30-646935542918})");
9657 }
9658 unsafe impl ::windows::runtime::Interface for NetworkOperatorTetheringClient {
9659     type Vtable = INetworkOperatorTetheringClient_abi;
9660     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1889346892, 22879, 18503, [187, 48, 100, 105, 53, 84, 41, 24]);
9661 }
9662 impl ::windows::runtime::RuntimeName for NetworkOperatorTetheringClient {
9663     const NAME: &'static str = "Windows.Networking.NetworkOperators.NetworkOperatorTetheringClient";
9664 }
9665 impl ::std::convert::From<NetworkOperatorTetheringClient> for ::windows::runtime::IUnknown {
from(value: NetworkOperatorTetheringClient) -> Self9666     fn from(value: NetworkOperatorTetheringClient) -> Self {
9667         unsafe { ::std::mem::transmute(value) }
9668     }
9669 }
9670 impl ::std::convert::From<&NetworkOperatorTetheringClient> for ::windows::runtime::IUnknown {
from(value: &NetworkOperatorTetheringClient) -> Self9671     fn from(value: &NetworkOperatorTetheringClient) -> Self {
9672         ::std::convert::From::from(::std::clone::Clone::clone(value))
9673     }
9674 }
9675 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for NetworkOperatorTetheringClient {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9676     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9677         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9678     }
9679 }
9680 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &NetworkOperatorTetheringClient {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9681     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9682         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9683     }
9684 }
9685 impl ::std::convert::From<NetworkOperatorTetheringClient> for ::windows::runtime::IInspectable {
from(value: NetworkOperatorTetheringClient) -> Self9686     fn from(value: NetworkOperatorTetheringClient) -> Self {
9687         value.0
9688     }
9689 }
9690 impl ::std::convert::From<&NetworkOperatorTetheringClient> for ::windows::runtime::IInspectable {
from(value: &NetworkOperatorTetheringClient) -> Self9691     fn from(value: &NetworkOperatorTetheringClient) -> Self {
9692         value.0.clone()
9693     }
9694 }
9695 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for NetworkOperatorTetheringClient {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>9696     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
9697         ::windows::runtime::Param::Owned(self.0)
9698     }
9699 }
9700 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a NetworkOperatorTetheringClient {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>9701     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
9702         ::windows::runtime::Param::Borrowed(&self.0)
9703     }
9704 }
9705 unsafe impl ::std::marker::Send for NetworkOperatorTetheringClient {}
9706 unsafe impl ::std::marker::Sync for NetworkOperatorTetheringClient {}
9707 #[repr(transparent)]
9708 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9709 pub struct NetworkOperatorTetheringManager(::windows::runtime::IInspectable);
9710 impl NetworkOperatorTetheringManager {
MaxClientCount(&self) -> ::windows::runtime::Result<u32>9711     pub fn MaxClientCount(&self) -> ::windows::runtime::Result<u32> {
9712         let this = self;
9713         unsafe {
9714             let mut result__: u32 = ::std::mem::zeroed();
9715             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
9716         }
9717     }
ClientCount(&self) -> ::windows::runtime::Result<u32>9718     pub fn ClientCount(&self) -> ::windows::runtime::Result<u32> {
9719         let this = self;
9720         unsafe {
9721             let mut result__: u32 = ::std::mem::zeroed();
9722             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
9723         }
9724     }
TetheringOperationalState(&self) -> ::windows::runtime::Result<TetheringOperationalState>9725     pub fn TetheringOperationalState(&self) -> ::windows::runtime::Result<TetheringOperationalState> {
9726         let this = self;
9727         unsafe {
9728             let mut result__: TetheringOperationalState = ::std::mem::zeroed();
9729             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<TetheringOperationalState>(result__)
9730         }
9731     }
GetCurrentAccessPointConfiguration(&self) -> ::windows::runtime::Result<NetworkOperatorTetheringAccessPointConfiguration>9732     pub fn GetCurrentAccessPointConfiguration(&self) -> ::windows::runtime::Result<NetworkOperatorTetheringAccessPointConfiguration> {
9733         let this = self;
9734         unsafe {
9735             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9736             (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<NetworkOperatorTetheringAccessPointConfiguration>(result__)
9737         }
9738     }
9739     #[cfg(feature = "Foundation")]
ConfigureAccessPointAsync<'a, Param0: ::windows::runtime::IntoParam<'a, NetworkOperatorTetheringAccessPointConfiguration>>(&self, configuration: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>9740     pub fn ConfigureAccessPointAsync<'a, Param0: ::windows::runtime::IntoParam<'a, NetworkOperatorTetheringAccessPointConfiguration>>(&self, configuration: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> {
9741         let this = self;
9742         unsafe {
9743             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9744             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), configuration.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__)
9745         }
9746     }
9747     #[cfg(feature = "Foundation")]
StartTetheringAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<NetworkOperatorTetheringOperationResult>>9748     pub fn StartTetheringAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<NetworkOperatorTetheringOperationResult>> {
9749         let this = self;
9750         unsafe {
9751             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9752             (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<NetworkOperatorTetheringOperationResult>>(result__)
9753         }
9754     }
9755     #[cfg(feature = "Foundation")]
StopTetheringAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<NetworkOperatorTetheringOperationResult>>9756     pub fn StopTetheringAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<NetworkOperatorTetheringOperationResult>> {
9757         let this = self;
9758         unsafe {
9759             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9760             (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<NetworkOperatorTetheringOperationResult>>(result__)
9761         }
9762     }
9763     #[cfg(feature = "Foundation_Collections")]
GetTetheringClients(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<NetworkOperatorTetheringClient>>9764     pub fn GetTetheringClients(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<NetworkOperatorTetheringClient>> {
9765         let this = &::windows::runtime::Interface::cast::<INetworkOperatorTetheringClientManager>(self)?;
9766         unsafe {
9767             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9768             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<NetworkOperatorTetheringClient>>(result__)
9769         }
9770     }
GetTetheringCapability<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(networkaccountid: Param0) -> ::windows::runtime::Result<TetheringCapability>9771     pub fn GetTetheringCapability<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(networkaccountid: Param0) -> ::windows::runtime::Result<TetheringCapability> {
9772         Self::INetworkOperatorTetheringManagerStatics(|this| unsafe {
9773             let mut result__: TetheringCapability = ::std::mem::zeroed();
9774             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), networkaccountid.into_param().abi(), &mut result__).from_abi::<TetheringCapability>(result__)
9775         })
9776     }
CreateFromNetworkAccountId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(networkaccountid: Param0) -> ::windows::runtime::Result<NetworkOperatorTetheringManager>9777     pub fn CreateFromNetworkAccountId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(networkaccountid: Param0) -> ::windows::runtime::Result<NetworkOperatorTetheringManager> {
9778         Self::INetworkOperatorTetheringManagerStatics(|this| unsafe {
9779             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9780             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), networkaccountid.into_param().abi(), &mut result__).from_abi::<NetworkOperatorTetheringManager>(result__)
9781         })
9782     }
9783     #[cfg(feature = "Networking_Connectivity")]
GetTetheringCapabilityFromConnectionProfile<'a, Param0: ::windows::runtime::IntoParam<'a, super::Connectivity::ConnectionProfile>>(profile: Param0) -> ::windows::runtime::Result<TetheringCapability>9784     pub fn GetTetheringCapabilityFromConnectionProfile<'a, Param0: ::windows::runtime::IntoParam<'a, super::Connectivity::ConnectionProfile>>(profile: Param0) -> ::windows::runtime::Result<TetheringCapability> {
9785         Self::INetworkOperatorTetheringManagerStatics2(|this| unsafe {
9786             let mut result__: TetheringCapability = ::std::mem::zeroed();
9787             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), profile.into_param().abi(), &mut result__).from_abi::<TetheringCapability>(result__)
9788         })
9789     }
9790     #[cfg(feature = "Networking_Connectivity")]
CreateFromConnectionProfile<'a, Param0: ::windows::runtime::IntoParam<'a, super::Connectivity::ConnectionProfile>>(profile: Param0) -> ::windows::runtime::Result<NetworkOperatorTetheringManager>9791     pub fn CreateFromConnectionProfile<'a, Param0: ::windows::runtime::IntoParam<'a, super::Connectivity::ConnectionProfile>>(profile: Param0) -> ::windows::runtime::Result<NetworkOperatorTetheringManager> {
9792         Self::INetworkOperatorTetheringManagerStatics2(|this| unsafe {
9793             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9794             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), profile.into_param().abi(), &mut result__).from_abi::<NetworkOperatorTetheringManager>(result__)
9795         })
9796     }
9797     #[cfg(feature = "Networking_Connectivity")]
CreateFromConnectionProfileWithTargetAdapter<'a, Param0: ::windows::runtime::IntoParam<'a, super::Connectivity::ConnectionProfile>, Param1: ::windows::runtime::IntoParam<'a, super::Connectivity::NetworkAdapter>>(profile: Param0, adapter: Param1) -> ::windows::runtime::Result<NetworkOperatorTetheringManager>9798     pub fn CreateFromConnectionProfileWithTargetAdapter<'a, Param0: ::windows::runtime::IntoParam<'a, super::Connectivity::ConnectionProfile>, Param1: ::windows::runtime::IntoParam<'a, super::Connectivity::NetworkAdapter>>(profile: Param0, adapter: Param1) -> ::windows::runtime::Result<NetworkOperatorTetheringManager> {
9799         Self::INetworkOperatorTetheringManagerStatics3(|this| unsafe {
9800             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9801             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), profile.into_param().abi(), adapter.into_param().abi(), &mut result__).from_abi::<NetworkOperatorTetheringManager>(result__)
9802         })
9803     }
IsNoConnectionsTimeoutEnabled() -> ::windows::runtime::Result<bool>9804     pub fn IsNoConnectionsTimeoutEnabled() -> ::windows::runtime::Result<bool> {
9805         Self::INetworkOperatorTetheringManagerStatics4(|this| unsafe {
9806             let mut result__: bool = ::std::mem::zeroed();
9807             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
9808         })
9809     }
EnableNoConnectionsTimeout() -> ::windows::runtime::Result<()>9810     pub fn EnableNoConnectionsTimeout() -> ::windows::runtime::Result<()> {
9811         Self::INetworkOperatorTetheringManagerStatics4(|this| unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this)).ok() })
9812     }
9813     #[cfg(feature = "Foundation")]
EnableNoConnectionsTimeoutAsync() -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>9814     pub fn EnableNoConnectionsTimeoutAsync() -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> {
9815         Self::INetworkOperatorTetheringManagerStatics4(|this| unsafe {
9816             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9817             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__)
9818         })
9819     }
DisableNoConnectionsTimeout() -> ::windows::runtime::Result<()>9820     pub fn DisableNoConnectionsTimeout() -> ::windows::runtime::Result<()> {
9821         Self::INetworkOperatorTetheringManagerStatics4(|this| unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this)).ok() })
9822     }
9823     #[cfg(feature = "Foundation")]
DisableNoConnectionsTimeoutAsync() -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>9824     pub fn DisableNoConnectionsTimeoutAsync() -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> {
9825         Self::INetworkOperatorTetheringManagerStatics4(|this| unsafe {
9826             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
9827             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__)
9828         })
9829     }
INetworkOperatorTetheringManagerStatics<R, F: FnOnce(&INetworkOperatorTetheringManagerStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>9830     pub fn INetworkOperatorTetheringManagerStatics<R, F: FnOnce(&INetworkOperatorTetheringManagerStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
9831         static mut SHARED: ::windows::runtime::FactoryCache<NetworkOperatorTetheringManager, INetworkOperatorTetheringManagerStatics> = ::windows::runtime::FactoryCache::new();
9832         unsafe { SHARED.call(callback) }
9833     }
INetworkOperatorTetheringManagerStatics2<R, F: FnOnce(&INetworkOperatorTetheringManagerStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>9834     pub fn INetworkOperatorTetheringManagerStatics2<R, F: FnOnce(&INetworkOperatorTetheringManagerStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
9835         static mut SHARED: ::windows::runtime::FactoryCache<NetworkOperatorTetheringManager, INetworkOperatorTetheringManagerStatics2> = ::windows::runtime::FactoryCache::new();
9836         unsafe { SHARED.call(callback) }
9837     }
INetworkOperatorTetheringManagerStatics3<R, F: FnOnce(&INetworkOperatorTetheringManagerStatics3) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>9838     pub fn INetworkOperatorTetheringManagerStatics3<R, F: FnOnce(&INetworkOperatorTetheringManagerStatics3) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
9839         static mut SHARED: ::windows::runtime::FactoryCache<NetworkOperatorTetheringManager, INetworkOperatorTetheringManagerStatics3> = ::windows::runtime::FactoryCache::new();
9840         unsafe { SHARED.call(callback) }
9841     }
INetworkOperatorTetheringManagerStatics4<R, F: FnOnce(&INetworkOperatorTetheringManagerStatics4) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>9842     pub fn INetworkOperatorTetheringManagerStatics4<R, F: FnOnce(&INetworkOperatorTetheringManagerStatics4) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
9843         static mut SHARED: ::windows::runtime::FactoryCache<NetworkOperatorTetheringManager, INetworkOperatorTetheringManagerStatics4> = ::windows::runtime::FactoryCache::new();
9844         unsafe { SHARED.call(callback) }
9845     }
9846 }
9847 unsafe impl ::windows::runtime::RuntimeType for NetworkOperatorTetheringManager {
9848     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.NetworkOperatorTetheringManager;{d45a8da0-0e86-4d98-8ba4-dd70d4b764d3})");
9849 }
9850 unsafe impl ::windows::runtime::Interface for NetworkOperatorTetheringManager {
9851     type Vtable = INetworkOperatorTetheringManager_abi;
9852     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3562704288, 3718, 19864, [139, 164, 221, 112, 212, 183, 100, 211]);
9853 }
9854 impl ::windows::runtime::RuntimeName for NetworkOperatorTetheringManager {
9855     const NAME: &'static str = "Windows.Networking.NetworkOperators.NetworkOperatorTetheringManager";
9856 }
9857 impl ::std::convert::From<NetworkOperatorTetheringManager> for ::windows::runtime::IUnknown {
from(value: NetworkOperatorTetheringManager) -> Self9858     fn from(value: NetworkOperatorTetheringManager) -> Self {
9859         unsafe { ::std::mem::transmute(value) }
9860     }
9861 }
9862 impl ::std::convert::From<&NetworkOperatorTetheringManager> for ::windows::runtime::IUnknown {
from(value: &NetworkOperatorTetheringManager) -> Self9863     fn from(value: &NetworkOperatorTetheringManager) -> Self {
9864         ::std::convert::From::from(::std::clone::Clone::clone(value))
9865     }
9866 }
9867 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for NetworkOperatorTetheringManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9868     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9869         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9870     }
9871 }
9872 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &NetworkOperatorTetheringManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9873     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9874         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9875     }
9876 }
9877 impl ::std::convert::From<NetworkOperatorTetheringManager> for ::windows::runtime::IInspectable {
from(value: NetworkOperatorTetheringManager) -> Self9878     fn from(value: NetworkOperatorTetheringManager) -> Self {
9879         value.0
9880     }
9881 }
9882 impl ::std::convert::From<&NetworkOperatorTetheringManager> for ::windows::runtime::IInspectable {
from(value: &NetworkOperatorTetheringManager) -> Self9883     fn from(value: &NetworkOperatorTetheringManager) -> Self {
9884         value.0.clone()
9885     }
9886 }
9887 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for NetworkOperatorTetheringManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>9888     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
9889         ::windows::runtime::Param::Owned(self.0)
9890     }
9891 }
9892 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a NetworkOperatorTetheringManager {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>9893     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
9894         ::windows::runtime::Param::Borrowed(&self.0)
9895     }
9896 }
9897 #[repr(transparent)]
9898 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
9899 pub struct NetworkOperatorTetheringOperationResult(::windows::runtime::IInspectable);
9900 impl NetworkOperatorTetheringOperationResult {
Status(&self) -> ::windows::runtime::Result<TetheringOperationStatus>9901     pub fn Status(&self) -> ::windows::runtime::Result<TetheringOperationStatus> {
9902         let this = self;
9903         unsafe {
9904             let mut result__: TetheringOperationStatus = ::std::mem::zeroed();
9905             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<TetheringOperationStatus>(result__)
9906         }
9907     }
AdditionalErrorMessage(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>9908     pub fn AdditionalErrorMessage(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
9909         let this = self;
9910         unsafe {
9911             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
9912             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
9913         }
9914     }
9915 }
9916 unsafe impl ::windows::runtime::RuntimeType for NetworkOperatorTetheringOperationResult {
9917     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.NetworkOperatorTetheringOperationResult;{ebd203a1-01ba-476d-b4b3-bf3d12c8f80c})");
9918 }
9919 unsafe impl ::windows::runtime::Interface for NetworkOperatorTetheringOperationResult {
9920     type Vtable = INetworkOperatorTetheringOperationResult_abi;
9921     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3956409249, 442, 18285, [180, 179, 191, 61, 18, 200, 248, 12]);
9922 }
9923 impl ::windows::runtime::RuntimeName for NetworkOperatorTetheringOperationResult {
9924     const NAME: &'static str = "Windows.Networking.NetworkOperators.NetworkOperatorTetheringOperationResult";
9925 }
9926 impl ::std::convert::From<NetworkOperatorTetheringOperationResult> for ::windows::runtime::IUnknown {
from(value: NetworkOperatorTetheringOperationResult) -> Self9927     fn from(value: NetworkOperatorTetheringOperationResult) -> Self {
9928         unsafe { ::std::mem::transmute(value) }
9929     }
9930 }
9931 impl ::std::convert::From<&NetworkOperatorTetheringOperationResult> for ::windows::runtime::IUnknown {
from(value: &NetworkOperatorTetheringOperationResult) -> Self9932     fn from(value: &NetworkOperatorTetheringOperationResult) -> Self {
9933         ::std::convert::From::from(::std::clone::Clone::clone(value))
9934     }
9935 }
9936 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for NetworkOperatorTetheringOperationResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9937     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9938         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
9939     }
9940 }
9941 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &NetworkOperatorTetheringOperationResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>9942     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
9943         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
9944     }
9945 }
9946 impl ::std::convert::From<NetworkOperatorTetheringOperationResult> for ::windows::runtime::IInspectable {
from(value: NetworkOperatorTetheringOperationResult) -> Self9947     fn from(value: NetworkOperatorTetheringOperationResult) -> Self {
9948         value.0
9949     }
9950 }
9951 impl ::std::convert::From<&NetworkOperatorTetheringOperationResult> for ::windows::runtime::IInspectable {
from(value: &NetworkOperatorTetheringOperationResult) -> Self9952     fn from(value: &NetworkOperatorTetheringOperationResult) -> Self {
9953         value.0.clone()
9954     }
9955 }
9956 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for NetworkOperatorTetheringOperationResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>9957     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
9958         ::windows::runtime::Param::Owned(self.0)
9959     }
9960 }
9961 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a NetworkOperatorTetheringOperationResult {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>9962     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
9963         ::windows::runtime::Param::Borrowed(&self.0)
9964     }
9965 }
9966 #[repr(C)]
9967 #[derive(:: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug, :: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy)]
9968 pub struct NetworkOperatorsFdnContract(pub u8);
9969 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9970 #[repr(transparent)]
9971 pub struct NetworkRegistrationState(pub i32);
9972 impl NetworkRegistrationState {
9973     pub const None: NetworkRegistrationState = NetworkRegistrationState(0i32);
9974     pub const Deregistered: NetworkRegistrationState = NetworkRegistrationState(1i32);
9975     pub const Searching: NetworkRegistrationState = NetworkRegistrationState(2i32);
9976     pub const Home: NetworkRegistrationState = NetworkRegistrationState(3i32);
9977     pub const Roaming: NetworkRegistrationState = NetworkRegistrationState(4i32);
9978     pub const Partner: NetworkRegistrationState = NetworkRegistrationState(5i32);
9979     pub const Denied: NetworkRegistrationState = NetworkRegistrationState(6i32);
9980 }
9981 impl ::std::convert::From<i32> for NetworkRegistrationState {
from(value: i32) -> Self9982     fn from(value: i32) -> Self {
9983         Self(value)
9984     }
9985 }
9986 unsafe impl ::windows::runtime::Abi for NetworkRegistrationState {
9987     type Abi = Self;
9988     type DefaultType = Self;
9989 }
9990 unsafe impl ::windows::runtime::RuntimeType for NetworkRegistrationState {
9991     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Networking.NetworkOperators.NetworkRegistrationState;i4)");
9992 }
9993 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
9994 #[repr(transparent)]
9995 pub struct ProfileMediaType(pub i32);
9996 impl ProfileMediaType {
9997     pub const Wlan: ProfileMediaType = ProfileMediaType(0i32);
9998     pub const Wwan: ProfileMediaType = ProfileMediaType(1i32);
9999 }
10000 impl ::std::convert::From<i32> for ProfileMediaType {
from(value: i32) -> Self10001     fn from(value: i32) -> Self {
10002         Self(value)
10003     }
10004 }
10005 unsafe impl ::windows::runtime::Abi for ProfileMediaType {
10006     type Abi = Self;
10007     type DefaultType = Self;
10008 }
10009 unsafe impl ::windows::runtime::RuntimeType for ProfileMediaType {
10010     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Networking.NetworkOperators.ProfileMediaType;i4)");
10011 }
10012 #[derive(:: std :: clone :: Clone, :: std :: marker :: Copy)]
10013 #[repr(C)]
10014 #[cfg(feature = "Foundation")]
10015 pub struct ProfileUsage {
10016     pub UsageInMegabytes: u32,
10017     pub LastSyncTime: super::super::Foundation::DateTime,
10018 }
10019 #[cfg(feature = "Foundation")]
10020 impl ProfileUsage {}
10021 #[cfg(feature = "Foundation")]
10022 impl ::std::default::Default for ProfileUsage {
default() -> Self10023     fn default() -> Self {
10024         unsafe { ::std::mem::zeroed() }
10025     }
10026 }
10027 #[cfg(feature = "Foundation")]
10028 impl ::std::fmt::Debug for ProfileUsage {
fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result10029     fn fmt(&self, fmt: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
10030         fmt.debug_struct("ProfileUsage").field("UsageInMegabytes", &self.UsageInMegabytes).field("LastSyncTime", &self.LastSyncTime).finish()
10031     }
10032 }
10033 #[cfg(feature = "Foundation")]
10034 impl ::std::cmp::PartialEq for ProfileUsage {
eq(&self, other: &Self) -> bool10035     fn eq(&self, other: &Self) -> bool {
10036         self.UsageInMegabytes == other.UsageInMegabytes && self.LastSyncTime == other.LastSyncTime
10037     }
10038 }
10039 #[cfg(feature = "Foundation")]
10040 impl ::std::cmp::Eq for ProfileUsage {}
10041 #[cfg(feature = "Foundation")]
10042 unsafe impl ::windows::runtime::Abi for ProfileUsage {
10043     type Abi = Self;
10044     type DefaultType = Self;
10045 }
10046 #[cfg(feature = "Foundation")]
10047 unsafe impl ::windows::runtime::RuntimeType for ProfileUsage {
10048     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"struct(Windows.Networking.NetworkOperators.ProfileUsage;u4;struct(Windows.Foundation.DateTime;i8))");
10049 }
10050 #[repr(transparent)]
10051 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
10052 pub struct ProvisionFromXmlDocumentResults(::windows::runtime::IInspectable);
10053 impl ProvisionFromXmlDocumentResults {
AllElementsProvisioned(&self) -> ::windows::runtime::Result<bool>10054     pub fn AllElementsProvisioned(&self) -> ::windows::runtime::Result<bool> {
10055         let this = self;
10056         unsafe {
10057             let mut result__: bool = ::std::mem::zeroed();
10058             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
10059         }
10060     }
ProvisionResultsXml(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>10061     pub fn ProvisionResultsXml(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
10062         let this = self;
10063         unsafe {
10064             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
10065             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
10066         }
10067     }
10068 }
10069 unsafe impl ::windows::runtime::RuntimeType for ProvisionFromXmlDocumentResults {
10070     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.ProvisionFromXmlDocumentResults;{217700e0-8203-11df-adb9-f4ce462d9137})");
10071 }
10072 unsafe impl ::windows::runtime::Interface for ProvisionFromXmlDocumentResults {
10073     type Vtable = IProvisionFromXmlDocumentResults_abi;
10074     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(561447136, 33283, 4575, [173, 185, 244, 206, 70, 45, 145, 55]);
10075 }
10076 impl ::windows::runtime::RuntimeName for ProvisionFromXmlDocumentResults {
10077     const NAME: &'static str = "Windows.Networking.NetworkOperators.ProvisionFromXmlDocumentResults";
10078 }
10079 impl ::std::convert::From<ProvisionFromXmlDocumentResults> for ::windows::runtime::IUnknown {
from(value: ProvisionFromXmlDocumentResults) -> Self10080     fn from(value: ProvisionFromXmlDocumentResults) -> Self {
10081         unsafe { ::std::mem::transmute(value) }
10082     }
10083 }
10084 impl ::std::convert::From<&ProvisionFromXmlDocumentResults> for ::windows::runtime::IUnknown {
from(value: &ProvisionFromXmlDocumentResults) -> Self10085     fn from(value: &ProvisionFromXmlDocumentResults) -> Self {
10086         ::std::convert::From::from(::std::clone::Clone::clone(value))
10087     }
10088 }
10089 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ProvisionFromXmlDocumentResults {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>10090     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10091         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
10092     }
10093 }
10094 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ProvisionFromXmlDocumentResults {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>10095     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10096         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
10097     }
10098 }
10099 impl ::std::convert::From<ProvisionFromXmlDocumentResults> for ::windows::runtime::IInspectable {
from(value: ProvisionFromXmlDocumentResults) -> Self10100     fn from(value: ProvisionFromXmlDocumentResults) -> Self {
10101         value.0
10102     }
10103 }
10104 impl ::std::convert::From<&ProvisionFromXmlDocumentResults> for ::windows::runtime::IInspectable {
from(value: &ProvisionFromXmlDocumentResults) -> Self10105     fn from(value: &ProvisionFromXmlDocumentResults) -> Self {
10106         value.0.clone()
10107     }
10108 }
10109 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ProvisionFromXmlDocumentResults {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>10110     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
10111         ::windows::runtime::Param::Owned(self.0)
10112     }
10113 }
10114 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ProvisionFromXmlDocumentResults {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>10115     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
10116         ::windows::runtime::Param::Borrowed(&self.0)
10117     }
10118 }
10119 #[repr(transparent)]
10120 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
10121 pub struct ProvisionedProfile(::windows::runtime::IInspectable);
10122 impl ProvisionedProfile {
10123     #[cfg(feature = "Networking_Connectivity")]
UpdateCost(&self, value: super::Connectivity::NetworkCostType) -> ::windows::runtime::Result<()>10124     pub fn UpdateCost(&self, value: super::Connectivity::NetworkCostType) -> ::windows::runtime::Result<()> {
10125         let this = self;
10126         unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), value).ok() }
10127     }
10128     #[cfg(feature = "Foundation")]
UpdateUsage<'a, Param0: ::windows::runtime::IntoParam<'a, ProfileUsage>>(&self, value: Param0) -> ::windows::runtime::Result<()>10129     pub fn UpdateUsage<'a, Param0: ::windows::runtime::IntoParam<'a, ProfileUsage>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
10130         let this = self;
10131         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
10132     }
10133 }
10134 unsafe impl ::windows::runtime::RuntimeType for ProvisionedProfile {
10135     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.ProvisionedProfile;{217700e0-8202-11df-adb9-f4ce462d9137})");
10136 }
10137 unsafe impl ::windows::runtime::Interface for ProvisionedProfile {
10138     type Vtable = IProvisionedProfile_abi;
10139     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(561447136, 33282, 4575, [173, 185, 244, 206, 70, 45, 145, 55]);
10140 }
10141 impl ::windows::runtime::RuntimeName for ProvisionedProfile {
10142     const NAME: &'static str = "Windows.Networking.NetworkOperators.ProvisionedProfile";
10143 }
10144 impl ::std::convert::From<ProvisionedProfile> for ::windows::runtime::IUnknown {
from(value: ProvisionedProfile) -> Self10145     fn from(value: ProvisionedProfile) -> Self {
10146         unsafe { ::std::mem::transmute(value) }
10147     }
10148 }
10149 impl ::std::convert::From<&ProvisionedProfile> for ::windows::runtime::IUnknown {
from(value: &ProvisionedProfile) -> Self10150     fn from(value: &ProvisionedProfile) -> Self {
10151         ::std::convert::From::from(::std::clone::Clone::clone(value))
10152     }
10153 }
10154 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ProvisionedProfile {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>10155     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10156         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
10157     }
10158 }
10159 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ProvisionedProfile {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>10160     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10161         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
10162     }
10163 }
10164 impl ::std::convert::From<ProvisionedProfile> for ::windows::runtime::IInspectable {
from(value: ProvisionedProfile) -> Self10165     fn from(value: ProvisionedProfile) -> Self {
10166         value.0
10167     }
10168 }
10169 impl ::std::convert::From<&ProvisionedProfile> for ::windows::runtime::IInspectable {
from(value: &ProvisionedProfile) -> Self10170     fn from(value: &ProvisionedProfile) -> Self {
10171         value.0.clone()
10172     }
10173 }
10174 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ProvisionedProfile {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>10175     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
10176         ::windows::runtime::Param::Owned(self.0)
10177     }
10178 }
10179 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ProvisionedProfile {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>10180     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
10181         ::windows::runtime::Param::Borrowed(&self.0)
10182     }
10183 }
10184 #[repr(transparent)]
10185 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
10186 pub struct ProvisioningAgent(::windows::runtime::IInspectable);
10187 impl ProvisioningAgent {
new() -> ::windows::runtime::Result<Self>10188     pub fn new() -> ::windows::runtime::Result<Self> {
10189         Self::IActivationFactory(|f| f.activate_instance::<Self>())
10190     }
IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>10191     fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
10192         static mut SHARED: ::windows::runtime::FactoryCache<ProvisioningAgent, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
10193         unsafe { SHARED.call(callback) }
10194     }
10195     #[cfg(feature = "Foundation")]
ProvisionFromXmlDocumentAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, provisioningxmldocument: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<ProvisionFromXmlDocumentResults>>10196     pub fn ProvisionFromXmlDocumentAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, provisioningxmldocument: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<ProvisionFromXmlDocumentResults>> {
10197         let this = self;
10198         unsafe {
10199             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
10200             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), provisioningxmldocument.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<ProvisionFromXmlDocumentResults>>(result__)
10201         }
10202     }
GetProvisionedProfile<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, mediatype: ProfileMediaType, profilename: Param1) -> ::windows::runtime::Result<ProvisionedProfile>10203     pub fn GetProvisionedProfile<'a, Param1: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, mediatype: ProfileMediaType, profilename: Param1) -> ::windows::runtime::Result<ProvisionedProfile> {
10204         let this = self;
10205         unsafe {
10206             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
10207             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), mediatype, profilename.into_param().abi(), &mut result__).from_abi::<ProvisionedProfile>(result__)
10208         }
10209     }
CreateFromNetworkAccountId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(networkaccountid: Param0) -> ::windows::runtime::Result<ProvisioningAgent>10210     pub fn CreateFromNetworkAccountId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(networkaccountid: Param0) -> ::windows::runtime::Result<ProvisioningAgent> {
10211         Self::IProvisioningAgentStaticMethods(|this| unsafe {
10212             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
10213             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), networkaccountid.into_param().abi(), &mut result__).from_abi::<ProvisioningAgent>(result__)
10214         })
10215     }
IProvisioningAgentStaticMethods<R, F: FnOnce(&IProvisioningAgentStaticMethods) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>10216     pub fn IProvisioningAgentStaticMethods<R, F: FnOnce(&IProvisioningAgentStaticMethods) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
10217         static mut SHARED: ::windows::runtime::FactoryCache<ProvisioningAgent, IProvisioningAgentStaticMethods> = ::windows::runtime::FactoryCache::new();
10218         unsafe { SHARED.call(callback) }
10219     }
10220 }
10221 unsafe impl ::windows::runtime::RuntimeType for ProvisioningAgent {
10222     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.ProvisioningAgent;{217700e0-8201-11df-adb9-f4ce462d9137})");
10223 }
10224 unsafe impl ::windows::runtime::Interface for ProvisioningAgent {
10225     type Vtable = IProvisioningAgent_abi;
10226     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(561447136, 33281, 4575, [173, 185, 244, 206, 70, 45, 145, 55]);
10227 }
10228 impl ::windows::runtime::RuntimeName for ProvisioningAgent {
10229     const NAME: &'static str = "Windows.Networking.NetworkOperators.ProvisioningAgent";
10230 }
10231 impl ::std::convert::From<ProvisioningAgent> for ::windows::runtime::IUnknown {
from(value: ProvisioningAgent) -> Self10232     fn from(value: ProvisioningAgent) -> Self {
10233         unsafe { ::std::mem::transmute(value) }
10234     }
10235 }
10236 impl ::std::convert::From<&ProvisioningAgent> for ::windows::runtime::IUnknown {
from(value: &ProvisioningAgent) -> Self10237     fn from(value: &ProvisioningAgent) -> Self {
10238         ::std::convert::From::from(::std::clone::Clone::clone(value))
10239     }
10240 }
10241 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ProvisioningAgent {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>10242     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10243         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
10244     }
10245 }
10246 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ProvisioningAgent {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>10247     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10248         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
10249     }
10250 }
10251 impl ::std::convert::From<ProvisioningAgent> for ::windows::runtime::IInspectable {
from(value: ProvisioningAgent) -> Self10252     fn from(value: ProvisioningAgent) -> Self {
10253         value.0
10254     }
10255 }
10256 impl ::std::convert::From<&ProvisioningAgent> for ::windows::runtime::IInspectable {
from(value: &ProvisioningAgent) -> Self10257     fn from(value: &ProvisioningAgent) -> Self {
10258         value.0.clone()
10259     }
10260 }
10261 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ProvisioningAgent {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>10262     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
10263         ::windows::runtime::Param::Owned(self.0)
10264     }
10265 }
10266 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ProvisioningAgent {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>10267     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
10268         ::windows::runtime::Param::Borrowed(&self.0)
10269     }
10270 }
10271 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
10272 #[repr(transparent)]
10273 pub struct TetheringCapability(pub i32);
10274 impl TetheringCapability {
10275     pub const Enabled: TetheringCapability = TetheringCapability(0i32);
10276     pub const DisabledByGroupPolicy: TetheringCapability = TetheringCapability(1i32);
10277     pub const DisabledByHardwareLimitation: TetheringCapability = TetheringCapability(2i32);
10278     pub const DisabledByOperator: TetheringCapability = TetheringCapability(3i32);
10279     pub const DisabledBySku: TetheringCapability = TetheringCapability(4i32);
10280     pub const DisabledByRequiredAppNotInstalled: TetheringCapability = TetheringCapability(5i32);
10281     pub const DisabledDueToUnknownCause: TetheringCapability = TetheringCapability(6i32);
10282     pub const DisabledBySystemCapability: TetheringCapability = TetheringCapability(7i32);
10283 }
10284 impl ::std::convert::From<i32> for TetheringCapability {
from(value: i32) -> Self10285     fn from(value: i32) -> Self {
10286         Self(value)
10287     }
10288 }
10289 unsafe impl ::windows::runtime::Abi for TetheringCapability {
10290     type Abi = Self;
10291     type DefaultType = Self;
10292 }
10293 unsafe impl ::windows::runtime::RuntimeType for TetheringCapability {
10294     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Networking.NetworkOperators.TetheringCapability;i4)");
10295 }
10296 #[repr(transparent)]
10297 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
10298 pub struct TetheringEntitlementCheckTriggerDetails(::windows::runtime::IInspectable);
10299 impl TetheringEntitlementCheckTriggerDetails {
NetworkAccountId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>10300     pub fn NetworkAccountId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
10301         let this = self;
10302         unsafe {
10303             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
10304             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
10305         }
10306     }
AllowTethering(&self) -> ::windows::runtime::Result<()>10307     pub fn AllowTethering(&self) -> ::windows::runtime::Result<()> {
10308         let this = self;
10309         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this)).ok() }
10310     }
DenyTethering<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, entitlementfailurereason: Param0) -> ::windows::runtime::Result<()>10311     pub fn DenyTethering<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, entitlementfailurereason: Param0) -> ::windows::runtime::Result<()> {
10312         let this = self;
10313         unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), entitlementfailurereason.into_param().abi()).ok() }
10314     }
10315 }
10316 unsafe impl ::windows::runtime::RuntimeType for TetheringEntitlementCheckTriggerDetails {
10317     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.TetheringEntitlementCheckTriggerDetails;{03c65e9d-5926-41f3-a94e-b50926fc421b})");
10318 }
10319 unsafe impl ::windows::runtime::Interface for TetheringEntitlementCheckTriggerDetails {
10320     type Vtable = ITetheringEntitlementCheckTriggerDetails_abi;
10321     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(63331997, 22822, 16883, [169, 78, 181, 9, 38, 252, 66, 27]);
10322 }
10323 impl ::windows::runtime::RuntimeName for TetheringEntitlementCheckTriggerDetails {
10324     const NAME: &'static str = "Windows.Networking.NetworkOperators.TetheringEntitlementCheckTriggerDetails";
10325 }
10326 impl ::std::convert::From<TetheringEntitlementCheckTriggerDetails> for ::windows::runtime::IUnknown {
from(value: TetheringEntitlementCheckTriggerDetails) -> Self10327     fn from(value: TetheringEntitlementCheckTriggerDetails) -> Self {
10328         unsafe { ::std::mem::transmute(value) }
10329     }
10330 }
10331 impl ::std::convert::From<&TetheringEntitlementCheckTriggerDetails> for ::windows::runtime::IUnknown {
from(value: &TetheringEntitlementCheckTriggerDetails) -> Self10332     fn from(value: &TetheringEntitlementCheckTriggerDetails) -> Self {
10333         ::std::convert::From::from(::std::clone::Clone::clone(value))
10334     }
10335 }
10336 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for TetheringEntitlementCheckTriggerDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>10337     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10338         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
10339     }
10340 }
10341 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &TetheringEntitlementCheckTriggerDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>10342     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10343         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
10344     }
10345 }
10346 impl ::std::convert::From<TetheringEntitlementCheckTriggerDetails> for ::windows::runtime::IInspectable {
from(value: TetheringEntitlementCheckTriggerDetails) -> Self10347     fn from(value: TetheringEntitlementCheckTriggerDetails) -> Self {
10348         value.0
10349     }
10350 }
10351 impl ::std::convert::From<&TetheringEntitlementCheckTriggerDetails> for ::windows::runtime::IInspectable {
from(value: &TetheringEntitlementCheckTriggerDetails) -> Self10352     fn from(value: &TetheringEntitlementCheckTriggerDetails) -> Self {
10353         value.0.clone()
10354     }
10355 }
10356 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for TetheringEntitlementCheckTriggerDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>10357     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
10358         ::windows::runtime::Param::Owned(self.0)
10359     }
10360 }
10361 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a TetheringEntitlementCheckTriggerDetails {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>10362     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
10363         ::windows::runtime::Param::Borrowed(&self.0)
10364     }
10365 }
10366 unsafe impl ::std::marker::Send for TetheringEntitlementCheckTriggerDetails {}
10367 unsafe impl ::std::marker::Sync for TetheringEntitlementCheckTriggerDetails {}
10368 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
10369 #[repr(transparent)]
10370 pub struct TetheringOperationStatus(pub i32);
10371 impl TetheringOperationStatus {
10372     pub const Success: TetheringOperationStatus = TetheringOperationStatus(0i32);
10373     pub const Unknown: TetheringOperationStatus = TetheringOperationStatus(1i32);
10374     pub const MobileBroadbandDeviceOff: TetheringOperationStatus = TetheringOperationStatus(2i32);
10375     pub const WiFiDeviceOff: TetheringOperationStatus = TetheringOperationStatus(3i32);
10376     pub const EntitlementCheckTimeout: TetheringOperationStatus = TetheringOperationStatus(4i32);
10377     pub const EntitlementCheckFailure: TetheringOperationStatus = TetheringOperationStatus(5i32);
10378     pub const OperationInProgress: TetheringOperationStatus = TetheringOperationStatus(6i32);
10379     pub const BluetoothDeviceOff: TetheringOperationStatus = TetheringOperationStatus(7i32);
10380     pub const NetworkLimitedConnectivity: TetheringOperationStatus = TetheringOperationStatus(8i32);
10381 }
10382 impl ::std::convert::From<i32> for TetheringOperationStatus {
from(value: i32) -> Self10383     fn from(value: i32) -> Self {
10384         Self(value)
10385     }
10386 }
10387 unsafe impl ::windows::runtime::Abi for TetheringOperationStatus {
10388     type Abi = Self;
10389     type DefaultType = Self;
10390 }
10391 unsafe impl ::windows::runtime::RuntimeType for TetheringOperationStatus {
10392     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Networking.NetworkOperators.TetheringOperationStatus;i4)");
10393 }
10394 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
10395 #[repr(transparent)]
10396 pub struct TetheringOperationalState(pub i32);
10397 impl TetheringOperationalState {
10398     pub const Unknown: TetheringOperationalState = TetheringOperationalState(0i32);
10399     pub const On: TetheringOperationalState = TetheringOperationalState(1i32);
10400     pub const Off: TetheringOperationalState = TetheringOperationalState(2i32);
10401     pub const InTransition: TetheringOperationalState = TetheringOperationalState(3i32);
10402 }
10403 impl ::std::convert::From<i32> for TetheringOperationalState {
from(value: i32) -> Self10404     fn from(value: i32) -> Self {
10405         Self(value)
10406     }
10407 }
10408 unsafe impl ::windows::runtime::Abi for TetheringOperationalState {
10409     type Abi = Self;
10410     type DefaultType = Self;
10411 }
10412 unsafe impl ::windows::runtime::RuntimeType for TetheringOperationalState {
10413     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Networking.NetworkOperators.TetheringOperationalState;i4)");
10414 }
10415 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
10416 #[repr(transparent)]
10417 pub struct TetheringWiFiBand(pub i32);
10418 impl TetheringWiFiBand {
10419     pub const Auto: TetheringWiFiBand = TetheringWiFiBand(0i32);
10420     pub const TwoPointFourGigahertz: TetheringWiFiBand = TetheringWiFiBand(1i32);
10421     pub const FiveGigahertz: TetheringWiFiBand = TetheringWiFiBand(2i32);
10422 }
10423 impl ::std::convert::From<i32> for TetheringWiFiBand {
from(value: i32) -> Self10424     fn from(value: i32) -> Self {
10425         Self(value)
10426     }
10427 }
10428 unsafe impl ::windows::runtime::Abi for TetheringWiFiBand {
10429     type Abi = Self;
10430     type DefaultType = Self;
10431 }
10432 unsafe impl ::windows::runtime::RuntimeType for TetheringWiFiBand {
10433     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Networking.NetworkOperators.TetheringWiFiBand;i4)");
10434 }
10435 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
10436 #[repr(transparent)]
10437 pub struct UiccAccessCondition(pub i32);
10438 impl UiccAccessCondition {
10439     pub const AlwaysAllowed: UiccAccessCondition = UiccAccessCondition(0i32);
10440     pub const Pin1: UiccAccessCondition = UiccAccessCondition(1i32);
10441     pub const Pin2: UiccAccessCondition = UiccAccessCondition(2i32);
10442     pub const Pin3: UiccAccessCondition = UiccAccessCondition(3i32);
10443     pub const Pin4: UiccAccessCondition = UiccAccessCondition(4i32);
10444     pub const Administrative5: UiccAccessCondition = UiccAccessCondition(5i32);
10445     pub const Administrative6: UiccAccessCondition = UiccAccessCondition(6i32);
10446     pub const NeverAllowed: UiccAccessCondition = UiccAccessCondition(7i32);
10447 }
10448 impl ::std::convert::From<i32> for UiccAccessCondition {
from(value: i32) -> Self10449     fn from(value: i32) -> Self {
10450         Self(value)
10451     }
10452 }
10453 unsafe impl ::windows::runtime::Abi for UiccAccessCondition {
10454     type Abi = Self;
10455     type DefaultType = Self;
10456 }
10457 unsafe impl ::windows::runtime::RuntimeType for UiccAccessCondition {
10458     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Networking.NetworkOperators.UiccAccessCondition;i4)");
10459 }
10460 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
10461 #[repr(transparent)]
10462 pub struct UiccAppKind(pub i32);
10463 impl UiccAppKind {
10464     pub const Unknown: UiccAppKind = UiccAppKind(0i32);
10465     pub const MF: UiccAppKind = UiccAppKind(1i32);
10466     pub const MFSim: UiccAppKind = UiccAppKind(2i32);
10467     pub const MFRuim: UiccAppKind = UiccAppKind(3i32);
10468     pub const USim: UiccAppKind = UiccAppKind(4i32);
10469     pub const CSim: UiccAppKind = UiccAppKind(5i32);
10470     pub const ISim: UiccAppKind = UiccAppKind(6i32);
10471 }
10472 impl ::std::convert::From<i32> for UiccAppKind {
from(value: i32) -> Self10473     fn from(value: i32) -> Self {
10474         Self(value)
10475     }
10476 }
10477 unsafe impl ::windows::runtime::Abi for UiccAppKind {
10478     type Abi = Self;
10479     type DefaultType = Self;
10480 }
10481 unsafe impl ::windows::runtime::RuntimeType for UiccAppKind {
10482     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Networking.NetworkOperators.UiccAppKind;i4)");
10483 }
10484 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
10485 #[repr(transparent)]
10486 pub struct UiccAppRecordKind(pub i32);
10487 impl UiccAppRecordKind {
10488     pub const Unknown: UiccAppRecordKind = UiccAppRecordKind(0i32);
10489     pub const Transparent: UiccAppRecordKind = UiccAppRecordKind(1i32);
10490     pub const RecordOriented: UiccAppRecordKind = UiccAppRecordKind(2i32);
10491 }
10492 impl ::std::convert::From<i32> for UiccAppRecordKind {
from(value: i32) -> Self10493     fn from(value: i32) -> Self {
10494         Self(value)
10495     }
10496 }
10497 unsafe impl ::windows::runtime::Abi for UiccAppRecordKind {
10498     type Abi = Self;
10499     type DefaultType = Self;
10500 }
10501 unsafe impl ::windows::runtime::RuntimeType for UiccAppRecordKind {
10502     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Networking.NetworkOperators.UiccAppRecordKind;i4)");
10503 }
10504 #[repr(transparent)]
10505 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
10506 pub struct UssdMessage(::windows::runtime::IInspectable);
10507 impl UssdMessage {
DataCodingScheme(&self) -> ::windows::runtime::Result<u8>10508     pub fn DataCodingScheme(&self) -> ::windows::runtime::Result<u8> {
10509         let this = self;
10510         unsafe {
10511             let mut result__: u8 = ::std::mem::zeroed();
10512             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u8>(result__)
10513         }
10514     }
SetDataCodingScheme(&self, value: u8) -> ::windows::runtime::Result<()>10515     pub fn SetDataCodingScheme(&self, value: u8) -> ::windows::runtime::Result<()> {
10516         let this = self;
10517         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() }
10518     }
GetPayload(&self) -> ::windows::runtime::Result<::windows::runtime::Array<u8>>10519     pub fn GetPayload(&self) -> ::windows::runtime::Result<::windows::runtime::Array<u8>> {
10520         let this = self;
10521         unsafe {
10522             let mut result__: ::windows::runtime::Array<u8> = ::std::mem::zeroed();
10523             (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), ::windows::runtime::Array::<u8>::set_abi_len(&mut result__), &mut result__ as *mut _ as _).and_then(|| result__)
10524         }
10525     }
SetPayload(&self, value: &[<u8 as ::windows::runtime::Abi>::DefaultType]) -> ::windows::runtime::Result<()>10526     pub fn SetPayload(&self, value: &[<u8 as ::windows::runtime::Abi>::DefaultType]) -> ::windows::runtime::Result<()> {
10527         let this = self;
10528         unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.len() as u32, ::std::mem::transmute(value.as_ptr())).ok() }
10529     }
PayloadAsText(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING>10530     pub fn PayloadAsText(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
10531         let this = self;
10532         unsafe {
10533             let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
10534             (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
10535         }
10536     }
SetPayloadAsText<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()>10537     pub fn SetPayloadAsText<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
10538         let this = self;
10539         unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
10540     }
CreateMessage<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(messagetext: Param0) -> ::windows::runtime::Result<UssdMessage>10541     pub fn CreateMessage<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(messagetext: Param0) -> ::windows::runtime::Result<UssdMessage> {
10542         Self::IUssdMessageFactory(|this| unsafe {
10543             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
10544             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), messagetext.into_param().abi(), &mut result__).from_abi::<UssdMessage>(result__)
10545         })
10546     }
IUssdMessageFactory<R, F: FnOnce(&IUssdMessageFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>10547     pub fn IUssdMessageFactory<R, F: FnOnce(&IUssdMessageFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
10548         static mut SHARED: ::windows::runtime::FactoryCache<UssdMessage, IUssdMessageFactory> = ::windows::runtime::FactoryCache::new();
10549         unsafe { SHARED.call(callback) }
10550     }
10551 }
10552 unsafe impl ::windows::runtime::RuntimeType for UssdMessage {
10553     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.UssdMessage;{2f9acf82-2004-4d5d-bf81-2aba1b4be4a8})");
10554 }
10555 unsafe impl ::windows::runtime::Interface for UssdMessage {
10556     type Vtable = IUssdMessage_abi;
10557     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(798674818, 8196, 19805, [191, 129, 42, 186, 27, 75, 228, 168]);
10558 }
10559 impl ::windows::runtime::RuntimeName for UssdMessage {
10560     const NAME: &'static str = "Windows.Networking.NetworkOperators.UssdMessage";
10561 }
10562 impl ::std::convert::From<UssdMessage> for ::windows::runtime::IUnknown {
from(value: UssdMessage) -> Self10563     fn from(value: UssdMessage) -> Self {
10564         unsafe { ::std::mem::transmute(value) }
10565     }
10566 }
10567 impl ::std::convert::From<&UssdMessage> for ::windows::runtime::IUnknown {
from(value: &UssdMessage) -> Self10568     fn from(value: &UssdMessage) -> Self {
10569         ::std::convert::From::from(::std::clone::Clone::clone(value))
10570     }
10571 }
10572 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for UssdMessage {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>10573     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10574         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
10575     }
10576 }
10577 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &UssdMessage {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>10578     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10579         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
10580     }
10581 }
10582 impl ::std::convert::From<UssdMessage> for ::windows::runtime::IInspectable {
from(value: UssdMessage) -> Self10583     fn from(value: UssdMessage) -> Self {
10584         value.0
10585     }
10586 }
10587 impl ::std::convert::From<&UssdMessage> for ::windows::runtime::IInspectable {
from(value: &UssdMessage) -> Self10588     fn from(value: &UssdMessage) -> Self {
10589         value.0.clone()
10590     }
10591 }
10592 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for UssdMessage {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>10593     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
10594         ::windows::runtime::Param::Owned(self.0)
10595     }
10596 }
10597 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a UssdMessage {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>10598     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
10599         ::windows::runtime::Param::Borrowed(&self.0)
10600     }
10601 }
10602 unsafe impl ::std::marker::Send for UssdMessage {}
10603 unsafe impl ::std::marker::Sync for UssdMessage {}
10604 #[repr(transparent)]
10605 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
10606 pub struct UssdReply(::windows::runtime::IInspectable);
10607 impl UssdReply {
ResultCode(&self) -> ::windows::runtime::Result<UssdResultCode>10608     pub fn ResultCode(&self) -> ::windows::runtime::Result<UssdResultCode> {
10609         let this = self;
10610         unsafe {
10611             let mut result__: UssdResultCode = ::std::mem::zeroed();
10612             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UssdResultCode>(result__)
10613         }
10614     }
Message(&self) -> ::windows::runtime::Result<UssdMessage>10615     pub fn Message(&self) -> ::windows::runtime::Result<UssdMessage> {
10616         let this = self;
10617         unsafe {
10618             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
10619             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UssdMessage>(result__)
10620         }
10621     }
10622 }
10623 unsafe impl ::windows::runtime::RuntimeType for UssdReply {
10624     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.UssdReply;{2f9acf82-2005-4d5d-bf81-2aba1b4be4a8})");
10625 }
10626 unsafe impl ::windows::runtime::Interface for UssdReply {
10627     type Vtable = IUssdReply_abi;
10628     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(798674818, 8197, 19805, [191, 129, 42, 186, 27, 75, 228, 168]);
10629 }
10630 impl ::windows::runtime::RuntimeName for UssdReply {
10631     const NAME: &'static str = "Windows.Networking.NetworkOperators.UssdReply";
10632 }
10633 impl ::std::convert::From<UssdReply> for ::windows::runtime::IUnknown {
from(value: UssdReply) -> Self10634     fn from(value: UssdReply) -> Self {
10635         unsafe { ::std::mem::transmute(value) }
10636     }
10637 }
10638 impl ::std::convert::From<&UssdReply> for ::windows::runtime::IUnknown {
from(value: &UssdReply) -> Self10639     fn from(value: &UssdReply) -> Self {
10640         ::std::convert::From::from(::std::clone::Clone::clone(value))
10641     }
10642 }
10643 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for UssdReply {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>10644     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10645         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
10646     }
10647 }
10648 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &UssdReply {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>10649     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10650         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
10651     }
10652 }
10653 impl ::std::convert::From<UssdReply> for ::windows::runtime::IInspectable {
from(value: UssdReply) -> Self10654     fn from(value: UssdReply) -> Self {
10655         value.0
10656     }
10657 }
10658 impl ::std::convert::From<&UssdReply> for ::windows::runtime::IInspectable {
from(value: &UssdReply) -> Self10659     fn from(value: &UssdReply) -> Self {
10660         value.0.clone()
10661     }
10662 }
10663 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for UssdReply {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>10664     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
10665         ::windows::runtime::Param::Owned(self.0)
10666     }
10667 }
10668 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a UssdReply {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>10669     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
10670         ::windows::runtime::Param::Borrowed(&self.0)
10671     }
10672 }
10673 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
10674 #[repr(transparent)]
10675 pub struct UssdResultCode(pub i32);
10676 impl UssdResultCode {
10677     pub const NoActionRequired: UssdResultCode = UssdResultCode(0i32);
10678     pub const ActionRequired: UssdResultCode = UssdResultCode(1i32);
10679     pub const Terminated: UssdResultCode = UssdResultCode(2i32);
10680     pub const OtherLocalClient: UssdResultCode = UssdResultCode(3i32);
10681     pub const OperationNotSupported: UssdResultCode = UssdResultCode(4i32);
10682     pub const NetworkTimeout: UssdResultCode = UssdResultCode(5i32);
10683 }
10684 impl ::std::convert::From<i32> for UssdResultCode {
from(value: i32) -> Self10685     fn from(value: i32) -> Self {
10686         Self(value)
10687     }
10688 }
10689 unsafe impl ::windows::runtime::Abi for UssdResultCode {
10690     type Abi = Self;
10691     type DefaultType = Self;
10692 }
10693 unsafe impl ::windows::runtime::RuntimeType for UssdResultCode {
10694     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Networking.NetworkOperators.UssdResultCode;i4)");
10695 }
10696 #[repr(transparent)]
10697 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
10698 pub struct UssdSession(::windows::runtime::IInspectable);
10699 impl UssdSession {
10700     #[cfg(feature = "Foundation")]
SendMessageAndGetReplyAsync<'a, Param0: ::windows::runtime::IntoParam<'a, UssdMessage>>(&self, message: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<UssdReply>>10701     pub fn SendMessageAndGetReplyAsync<'a, Param0: ::windows::runtime::IntoParam<'a, UssdMessage>>(&self, message: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<UssdReply>> {
10702         let this = self;
10703         unsafe {
10704             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
10705             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), message.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<UssdReply>>(result__)
10706         }
10707     }
Close(&self) -> ::windows::runtime::Result<()>10708     pub fn Close(&self) -> ::windows::runtime::Result<()> {
10709         let this = self;
10710         unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this)).ok() }
10711     }
CreateFromNetworkAccountId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(networkaccountid: Param0) -> ::windows::runtime::Result<UssdSession>10712     pub fn CreateFromNetworkAccountId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(networkaccountid: Param0) -> ::windows::runtime::Result<UssdSession> {
10713         Self::IUssdSessionStatics(|this| unsafe {
10714             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
10715             (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), networkaccountid.into_param().abi(), &mut result__).from_abi::<UssdSession>(result__)
10716         })
10717     }
CreateFromNetworkInterfaceId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(networkinterfaceid: Param0) -> ::windows::runtime::Result<UssdSession>10718     pub fn CreateFromNetworkInterfaceId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(networkinterfaceid: Param0) -> ::windows::runtime::Result<UssdSession> {
10719         Self::IUssdSessionStatics(|this| unsafe {
10720             let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
10721             (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), networkinterfaceid.into_param().abi(), &mut result__).from_abi::<UssdSession>(result__)
10722         })
10723     }
IUssdSessionStatics<R, F: FnOnce(&IUssdSessionStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>10724     pub fn IUssdSessionStatics<R, F: FnOnce(&IUssdSessionStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
10725         static mut SHARED: ::windows::runtime::FactoryCache<UssdSession, IUssdSessionStatics> = ::windows::runtime::FactoryCache::new();
10726         unsafe { SHARED.call(callback) }
10727     }
10728 }
10729 unsafe impl ::windows::runtime::RuntimeType for UssdSession {
10730     const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Networking.NetworkOperators.UssdSession;{2f9acf82-2002-4d5d-bf81-2aba1b4be4a8})");
10731 }
10732 unsafe impl ::windows::runtime::Interface for UssdSession {
10733     type Vtable = IUssdSession_abi;
10734     const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(798674818, 8194, 19805, [191, 129, 42, 186, 27, 75, 228, 168]);
10735 }
10736 impl ::windows::runtime::RuntimeName for UssdSession {
10737     const NAME: &'static str = "Windows.Networking.NetworkOperators.UssdSession";
10738 }
10739 impl ::std::convert::From<UssdSession> for ::windows::runtime::IUnknown {
from(value: UssdSession) -> Self10740     fn from(value: UssdSession) -> Self {
10741         unsafe { ::std::mem::transmute(value) }
10742     }
10743 }
10744 impl ::std::convert::From<&UssdSession> for ::windows::runtime::IUnknown {
from(value: &UssdSession) -> Self10745     fn from(value: &UssdSession) -> Self {
10746         ::std::convert::From::from(::std::clone::Clone::clone(value))
10747     }
10748 }
10749 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for UssdSession {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>10750     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10751         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
10752     }
10753 }
10754 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &UssdSession {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>10755     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
10756         ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
10757     }
10758 }
10759 impl ::std::convert::From<UssdSession> for ::windows::runtime::IInspectable {
from(value: UssdSession) -> Self10760     fn from(value: UssdSession) -> Self {
10761         value.0
10762     }
10763 }
10764 impl ::std::convert::From<&UssdSession> for ::windows::runtime::IInspectable {
from(value: &UssdSession) -> Self10765     fn from(value: &UssdSession) -> Self {
10766         value.0.clone()
10767     }
10768 }
10769 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for UssdSession {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>10770     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
10771         ::windows::runtime::Param::Owned(self.0)
10772     }
10773 }
10774 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a UssdSession {
into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>10775     fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
10776         ::windows::runtime::Param::Borrowed(&self.0)
10777     }
10778 }
10779