1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)]
2 #[cfg(feature = "Devices_Bluetooth_Advertisement")]
3 pub mod Advertisement;
4 #[cfg(feature = "Devices_Bluetooth_Background")]
5 pub mod Background;
6 #[cfg(feature = "Devices_Bluetooth_GenericAttributeProfile")]
7 pub mod GenericAttributeProfile;
8 #[cfg(feature = "Devices_Bluetooth_Rfcomm")]
9 pub mod Rfcomm;
10 #[repr(transparent)]
11 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
12 pub struct BluetoothAdapter(::windows::runtime::IInspectable);
13 impl BluetoothAdapter {
14 pub fn DeviceId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
15 let this = self;
16 unsafe {
17 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
18 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
19 }
20 }
21 pub fn BluetoothAddress(&self) -> ::windows::runtime::Result<u64> {
22 let this = self;
hostFromSockFD(SockFD * sfd,lcb_host_t * tgt)23 unsafe {
24 let mut result__: u64 = ::std::mem::zeroed();
25 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u64>(result__)
26 }
27 }
28 pub fn IsClassicSupported(&self) -> ::windows::runtime::Result<bool> {
29 let this = self;
30 unsafe {
31 let mut result__: bool = ::std::mem::zeroed();
32 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
33 }
34 }
35 pub fn IsLowEnergySupported(&self) -> ::windows::runtime::Result<bool> {
36 let this = self;
onFlushDone(ESocket * s,size_t,size_t n)37 unsafe {
38 let mut result__: bool = ::std::mem::zeroed();
39 (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
40 }
41 }
42 pub fn IsPeripheralRoleSupported(&self) -> ::windows::runtime::Result<bool> {
43 let this = self;
44 unsafe {
45 let mut result__: bool = ::std::mem::zeroed();
46 (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
47 }
48 }
49 pub fn IsCentralRoleSupported(&self) -> ::windows::runtime::Result<bool> {
50 let this = self;
51 unsafe {
52 let mut result__: bool = ::std::mem::zeroed();
53 (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
54 }
55 }
56 pub fn IsAdvertisementOffloadSupported(&self) -> ::windows::runtime::Result<bool> {
57 let this = self;
58 unsafe {
59 let mut result__: bool = ::std::mem::zeroed();
60 (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
61 }
62 }
63 #[cfg(all(feature = "Devices_Radios", feature = "Foundation"))]
64 pub fn GetRadioAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::Radios::Radio>> {
65 let this = self;
66 unsafe {
67 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
68 (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<super::Radios::Radio>>(result__)
69 }
70 }
71 pub fn GetDeviceSelector() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
72 Self::IBluetoothAdapterStatics(|this| unsafe {
73 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
74 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
75 })
76 }
77 #[cfg(feature = "Foundation")]
78 pub fn FromIdAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(deviceid: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<BluetoothAdapter>> {
79 Self::IBluetoothAdapterStatics(|this| unsafe {
80 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
81 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), deviceid.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<BluetoothAdapter>>(result__)
82 })
83 }
84 #[cfg(feature = "Foundation")]
85 pub fn GetDefaultAsync() -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<BluetoothAdapter>> {
86 Self::IBluetoothAdapterStatics(|this| unsafe {
87 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
88 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<BluetoothAdapter>>(result__)
89 })
90 }
91 pub fn AreClassicSecureConnectionsSupported(&self) -> ::windows::runtime::Result<bool> {
92 let this = &::windows::runtime::Interface::cast::<IBluetoothAdapter2>(self)?;
93 unsafe {
94 let mut result__: bool = ::std::mem::zeroed();
95 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
96 }
97 }
98 pub fn AreLowEnergySecureConnectionsSupported(&self) -> ::windows::runtime::Result<bool> {
99 let this = &::windows::runtime::Interface::cast::<IBluetoothAdapter2>(self)?;
100 unsafe {
101 let mut result__: bool = ::std::mem::zeroed();
102 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
103 }
104 }
105 pub fn IsExtendedAdvertisingSupported(&self) -> ::windows::runtime::Result<bool> {
106 let this = &::windows::runtime::Interface::cast::<IBluetoothAdapter3>(self)?;
107 unsafe {
108 let mut result__: bool = ::std::mem::zeroed();
109 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
110 }
111 }
112 pub fn MaxAdvertisementDataLength(&self) -> ::windows::runtime::Result<u32> {
113 let this = &::windows::runtime::Interface::cast::<IBluetoothAdapter3>(self)?;
114 unsafe {
115 let mut result__: u32 = ::std::mem::zeroed();
116 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
ESocketESocket117 }
118 }
119 pub fn IBluetoothAdapterStatics<R, F: FnOnce(&IBluetoothAdapterStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
120 static mut SHARED: ::windows::runtime::FactoryCache<BluetoothAdapter, IBluetoothAdapterStatics> = ::windows::runtime::FactoryCache::new();
121 unsafe { SHARED.call(callback) }
122 }
123 }
124 unsafe impl ::windows::runtime::RuntimeType for BluetoothAdapter {
125 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.Bluetooth.BluetoothAdapter;{7974f04c-5f7a-4a34-9225-a855f84b1a8b})");
126 }
127 unsafe impl ::windows::runtime::Interface for BluetoothAdapter {
128 type Vtable = IBluetoothAdapter_abi;
129 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2037706828, 24442, 18996, [146, 37, 168, 85, 248, 75, 26, 139]);
130 }
131 impl ::windows::runtime::RuntimeName for BluetoothAdapter {
132 const NAME: &'static str = "Windows.Devices.Bluetooth.BluetoothAdapter";
clearESocket133 }
134 impl ::std::convert::From<BluetoothAdapter> for ::windows::runtime::IUnknown {
135 fn from(value: BluetoothAdapter) -> Self {
136 unsafe { ::std::mem::transmute(value) }
137 }
138 }
139 impl ::std::convert::From<&BluetoothAdapter> for ::windows::runtime::IUnknown {
140 fn from(value: &BluetoothAdapter) -> Self {
141 ::std::convert::From::from(::std::clone::Clone::clone(value))
142 }
143 }
putESocket144 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for BluetoothAdapter {
145 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
146 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
147 }
148 }
149 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &BluetoothAdapter {
150 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
151 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
152 }
153 }
154 impl ::std::convert::From<BluetoothAdapter> for ::windows::runtime::IInspectable {
155 fn from(value: BluetoothAdapter) -> Self {
156 value.0
reqrdESocket157 }
158 }
159 impl ::std::convert::From<&BluetoothAdapter> for ::windows::runtime::IInspectable {
160 fn from(value: &BluetoothAdapter) -> Self {
161 value.0.clone()
162 }
163 }
164 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for BluetoothAdapter {
165 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
166 ::windows::runtime::Param::Owned(self.0)
167 }
168 }
169 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a BluetoothAdapter {
170 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
getReceivedESocket171 ::windows::runtime::Param::Borrowed(&self.0)
172 }
173 }
174 unsafe impl ::std::marker::Send for BluetoothAdapter {}
175 unsafe impl ::std::marker::Sync for BluetoothAdapter {}
getUnreadSizeESocket176 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
177 #[repr(transparent)]
178 pub struct BluetoothAddressType(pub i32);
179 impl BluetoothAddressType {
setActionsESocket180 pub const Public: BluetoothAddressType = BluetoothAddressType(0i32);
181 pub const Random: BluetoothAddressType = BluetoothAddressType(1i32);
182 pub const Unspecified: BluetoothAddressType = BluetoothAddressType(2i32);
183 }
184 impl ::std::convert::From<i32> for BluetoothAddressType {
185 fn from(value: i32) -> Self {
186 Self(value)
187 }
188 }
189 unsafe impl ::windows::runtime::Abi for BluetoothAddressType {
190 type Abi = Self;
191 type DefaultType = Self;
192 }
193 unsafe impl ::windows::runtime::RuntimeType for BluetoothAddressType {
194 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Devices.Bluetooth.BluetoothAddressType;i4)");
195 }
196 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
197 #[repr(transparent)]
198 pub struct BluetoothCacheMode(pub i32);
199 impl BluetoothCacheMode {
200 pub const Cached: BluetoothCacheMode = BluetoothCacheMode(0i32);
201 pub const Uncached: BluetoothCacheMode = BluetoothCacheMode(1i32);
202 }
203 impl ::std::convert::From<i32> for BluetoothCacheMode {
204 fn from(value: i32) -> Self {
205 Self(value)
206 }
207 }
208 unsafe impl ::windows::runtime::Abi for BluetoothCacheMode {
209 type Abi = Self;
210 type DefaultType = Self;
211 }
212 unsafe impl ::windows::runtime::RuntimeType for BluetoothCacheMode {
213 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Devices.Bluetooth.BluetoothCacheMode;i4)");
214 }
215 #[repr(transparent)]
216 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
217 pub struct BluetoothClassOfDevice(::windows::runtime::IInspectable);
218 impl BluetoothClassOfDevice {
219 pub fn RawValue(&self) -> ::windows::runtime::Result<u32> {
220 let this = self;
221 unsafe {
222 let mut result__: u32 = ::std::mem::zeroed();
223 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__)
224 }
225 }
226 pub fn MajorClass(&self) -> ::windows::runtime::Result<BluetoothMajorClass> {
227 let this = self;
228 unsafe {
229 let mut result__: BluetoothMajorClass = ::std::mem::zeroed();
230 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<BluetoothMajorClass>(result__)
231 }
232 }
233 pub fn MinorClass(&self) -> ::windows::runtime::Result<BluetoothMinorClass> {
234 let this = self;
235 unsafe {
236 let mut result__: BluetoothMinorClass = ::std::mem::zeroed();
237 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<BluetoothMinorClass>(result__)
~BreakCondition()238 }
239 }
240 pub fn ServiceCapabilities(&self) -> ::windows::runtime::Result<BluetoothServiceCapabilities> {
241 let this = self;
242 unsafe {
243 let mut result__: BluetoothServiceCapabilities = ::std::mem::zeroed();
244 (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<BluetoothServiceCapabilities>(result__)
245 }
246 }
247 pub fn FromRawValue(rawvalue: u32) -> ::windows::runtime::Result<BluetoothClassOfDevice> {
248 Self::IBluetoothClassOfDeviceStatics(|this| unsafe {
didBreak()249 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
250 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), rawvalue, &mut result__).from_abi::<BluetoothClassOfDevice>(result__)
251 })
252 }
253 pub fn FromParts(majorclass: BluetoothMajorClass, minorclass: BluetoothMinorClass, servicecapabilities: BluetoothServiceCapabilities) -> ::windows::runtime::Result<BluetoothClassOfDevice> {
254 Self::IBluetoothClassOfDeviceStatics(|this| unsafe {
255 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
256 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), majorclass, minorclass, servicecapabilities, &mut result__).from_abi::<BluetoothClassOfDevice>(result__)
257 })
258 }
259 pub fn IBluetoothClassOfDeviceStatics<R, F: FnOnce(&IBluetoothClassOfDeviceStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
260 static mut SHARED: ::windows::runtime::FactoryCache<BluetoothClassOfDevice, IBluetoothClassOfDeviceStatics> = ::windows::runtime::FactoryCache::new();
261 unsafe { SHARED.call(callback) }
262 }
263 }
264 unsafe impl ::windows::runtime::RuntimeType for BluetoothClassOfDevice {
265 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.Bluetooth.BluetoothClassOfDevice;{d640227e-d7d7-4661-9454-65039ca17a2b})");
266 }
267 unsafe impl ::windows::runtime::Interface for BluetoothClassOfDevice {
268 type Vtable = IBluetoothClassOfDevice_abi;
269 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3594527358, 55255, 18017, [148, 84, 101, 3, 156, 161, 122, 43]);
270 }
FutureBreakCondition(Future * ft)271 impl ::windows::runtime::RuntimeName for BluetoothClassOfDevice {
272 const NAME: &'static str = "Windows.Devices.Bluetooth.BluetoothClassOfDevice";
273 }
274 impl ::std::convert::From<BluetoothClassOfDevice> for ::windows::runtime::IUnknown {
shouldBreakImpl()275 fn from(value: BluetoothClassOfDevice) -> Self {
276 unsafe { ::std::mem::transmute(value) }
277 }
278 }
279 impl ::std::convert::From<&BluetoothClassOfDevice> for ::windows::runtime::IUnknown {
280 fn from(value: &BluetoothClassOfDevice) -> Self {
281 ::std::convert::From::from(::std::clone::Clone::clone(value))
282 }
283 }
284 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for BluetoothClassOfDevice {
285 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
286 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
FlushedBreakCondition(ESocket * s)287 }
288 }
289 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &BluetoothClassOfDevice {
290 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
291 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
292 }
293 }
294 impl ::std::convert::From<BluetoothClassOfDevice> for ::windows::runtime::IInspectable {
295 fn from(value: BluetoothClassOfDevice) -> Self {
296 value.0
297 }
298 }
299 impl ::std::convert::From<&BluetoothClassOfDevice> for ::windows::runtime::IInspectable {
300 fn from(value: &BluetoothClassOfDevice) -> Self {
301 value.0.clone()
302 }
303 }
304 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for BluetoothClassOfDevice {
ReadBreakCondition(ESocket * s,unsigned nr)305 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
306 ::windows::runtime::Param::Owned(self.0)
307 }
308 }
309 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a BluetoothClassOfDevice {
310 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
311 ::windows::runtime::Param::Borrowed(&self.0)
312 }
313 }
314 unsafe impl ::std::marker::Send for BluetoothClassOfDevice {}
315 unsafe impl ::std::marker::Sync for BluetoothClassOfDevice {}
316 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
317 #[repr(transparent)]
318 pub struct BluetoothConnectionStatus(pub i32);
319 impl BluetoothConnectionStatus {
320 pub const Disconnected: BluetoothConnectionStatus = BluetoothConnectionStatus(0i32);
321 pub const Connected: BluetoothConnectionStatus = BluetoothConnectionStatus(1i32);
322 }
323 impl ::std::convert::From<i32> for BluetoothConnectionStatus {
ErrorBreakCondition(ESocket * s)324 fn from(value: i32) -> Self {
325 Self(value)
326 }
shouldBreakImpl()327 }
328 unsafe impl ::windows::runtime::Abi for BluetoothConnectionStatus {
329 type Abi = Self;
330 type DefaultType = Self;
331 }
332 unsafe impl ::windows::runtime::RuntimeType for BluetoothConnectionStatus {
333 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Devices.Bluetooth.BluetoothConnectionStatus;i4)");
CtxCloseBreakCondition(ESocket * sock)334 }
335 #[repr(transparent)]
336 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
337 pub struct BluetoothDevice(::windows::runtime::IInspectable);
338 impl BluetoothDevice {
gotDtor()339 pub fn DeviceId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
340 let this = self;
341 unsafe {
342 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
343 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
344 }
345 }
346 #[cfg(feature = "Networking")]
347 pub fn HostName(&self) -> ::windows::runtime::Result<super::super::Networking::HostName> {
shouldBreakImpl()348 let this = self;
349 unsafe {
350 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
351 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Networking::HostName>(result__)
352 }
353 }
354 pub fn Name(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
355 let this = self;
shouldBreakImpl()356 unsafe {
357 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
358 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
359 }
360 }
361 pub fn ClassOfDevice(&self) -> ::windows::runtime::Result<BluetoothClassOfDevice> {
362 let this = self;
363 unsafe {
364 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
365 (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<BluetoothClassOfDevice>(result__)
366 }
367 }
368 #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Streams"))]
369 pub fn SdpRecords(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<super::super::Storage::Streams::IBuffer>> {
370 let this = self;
371 unsafe {
372 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
373 (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<super::super::Storage::Streams::IBuffer>>(result__)
374 }
375 }
376 #[cfg(feature = "deprecated")]
377 #[cfg(all(feature = "Devices_Bluetooth_Rfcomm", feature = "Foundation_Collections"))]
378 pub fn RfcommServices(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<Rfcomm::RfcommDeviceService>> {
379 let this = self;
380 unsafe {
381 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
382 (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<Rfcomm::RfcommDeviceService>>(result__)
383 }
384 }
385 pub fn ConnectionStatus(&self) -> ::windows::runtime::Result<BluetoothConnectionStatus> {
386 let this = self;
387 unsafe {
388 let mut result__: BluetoothConnectionStatus = ::std::mem::zeroed();
389 (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<BluetoothConnectionStatus>(result__)
390 }
391 }
392 pub fn BluetoothAddress(&self) -> ::windows::runtime::Result<u64> {
393 let this = self;
394 unsafe {
395 let mut result__: u64 = ::std::mem::zeroed();
396 (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u64>(result__)
397 }
398 }
399 #[cfg(feature = "Foundation")]
400 pub fn NameChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<BluetoothDevice, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
401 let this = self;
402 unsafe {
403 let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
404 (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
405 }
406 }
407 #[cfg(feature = "Foundation")]
408 pub fn RemoveNameChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
409 let this = self;
410 unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
411 }
setBreakCondition(BreakCondition * bc)412 #[cfg(feature = "Foundation")]
413 pub fn SdpRecordsChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<BluetoothDevice, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
414 let this = self;
415 unsafe {
416 let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
417 (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
418 }
419 }
420 #[cfg(feature = "Foundation")]
421 pub fn RemoveSdpRecordsChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
422 let this = self;
423 unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
424 }
425 #[cfg(feature = "Foundation")]
426 pub fn ConnectionStatusChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<BluetoothDevice, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
427 let this = self;
428 unsafe {
429 let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
430 (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
431 }
432 }
433 #[cfg(feature = "Foundation")]
434 pub fn RemoveConnectionStatusChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
435 let this = self;
SetUp()436 unsafe { (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
437 }
438 #[cfg(feature = "Foundation")]
439 pub fn Close(&self) -> ::windows::runtime::Result<()> {
440 let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
441 unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
442 }
443 #[cfg(feature = "Foundation")]
TearDown()444 pub fn FromIdAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(deviceid: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<BluetoothDevice>> {
445 Self::IBluetoothDeviceStatics(|this| unsafe {
446 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
447 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), deviceid.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<BluetoothDevice>>(result__)
448 })
449 }
450 #[cfg(all(feature = "Foundation", feature = "Networking"))]
451 pub fn FromHostNameAsync<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Networking::HostName>>(hostname: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<BluetoothDevice>> {
452 Self::IBluetoothDeviceStatics(|this| unsafe {
453 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
454 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), hostname.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<BluetoothDevice>>(result__)
455 })
456 }
457 #[cfg(feature = "Foundation")]
458 pub fn FromBluetoothAddressAsync(address: u64) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<BluetoothDevice>> {
459 Self::IBluetoothDeviceStatics(|this| unsafe {
460 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
461 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), address, &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<BluetoothDevice>>(result__)
462 })
463 }
464 pub fn GetDeviceSelector() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
465 Self::IBluetoothDeviceStatics(|this| unsafe {
466 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
467 (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
468 })
469 }
470 #[cfg(feature = "Devices_Enumeration")]
471 pub fn DeviceInformation(&self) -> ::windows::runtime::Result<super::Enumeration::DeviceInformation> {
472 let this = &::windows::runtime::Interface::cast::<IBluetoothDevice2>(self)?;
473 unsafe {
474 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
475 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Enumeration::DeviceInformation>(result__)
476 }
477 }
478 pub fn GetDeviceSelectorFromPairingState(pairingstate: bool) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
479 Self::IBluetoothDeviceStatics2(|this| unsafe {
480 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
481 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), pairingstate, &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
482 })
483 }
484 pub fn GetDeviceSelectorFromConnectionStatus(connectionstatus: BluetoothConnectionStatus) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
485 Self::IBluetoothDeviceStatics2(|this| unsafe {
486 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
487 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), connectionstatus, &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
488 })
489 }
490 pub fn GetDeviceSelectorFromDeviceName<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(devicename: Param0) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
491 Self::IBluetoothDeviceStatics2(|this| unsafe {
492 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
493 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), devicename.into_param().abi(), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
494 })
495 }
496 pub fn GetDeviceSelectorFromBluetoothAddress(bluetoothaddress: u64) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
497 Self::IBluetoothDeviceStatics2(|this| unsafe {
498 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
499 (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), bluetoothaddress, &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
500 })
501 }
502 pub fn GetDeviceSelectorFromClassOfDevice<'a, Param0: ::windows::runtime::IntoParam<'a, BluetoothClassOfDevice>>(classofdevice: Param0) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
503 Self::IBluetoothDeviceStatics2(|this| unsafe {
504 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
505 (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), classofdevice.into_param().abi(), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
506 })
507 }
508 #[cfg(feature = "Devices_Enumeration")]
509 pub fn DeviceAccessInformation(&self) -> ::windows::runtime::Result<super::Enumeration::DeviceAccessInformation> {
510 let this = &::windows::runtime::Interface::cast::<IBluetoothDevice3>(self)?;
511 unsafe {
512 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
513 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Enumeration::DeviceAccessInformation>(result__)
514 }
515 }
516 #[cfg(all(feature = "Devices_Enumeration", feature = "Foundation"))]
517 pub fn RequestAccessAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::Enumeration::DeviceAccessStatus>> {
518 let this = &::windows::runtime::Interface::cast::<IBluetoothDevice3>(self)?;
519 unsafe {
520 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
521 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<super::Enumeration::DeviceAccessStatus>>(result__)
522 }
523 }
524 #[cfg(all(feature = "Devices_Bluetooth_Rfcomm", feature = "Foundation"))]
525 pub fn GetRfcommServicesAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<Rfcomm::RfcommDeviceServicesResult>> {
526 let this = &::windows::runtime::Interface::cast::<IBluetoothDevice3>(self)?;
527 unsafe {
528 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
529 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<Rfcomm::RfcommDeviceServicesResult>>(result__)
530 }
531 }
532 #[cfg(all(feature = "Devices_Bluetooth_Rfcomm", feature = "Foundation"))]
533 pub fn GetRfcommServicesWithCacheModeAsync(&self, cachemode: BluetoothCacheMode) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<Rfcomm::RfcommDeviceServicesResult>> {
534 let this = &::windows::runtime::Interface::cast::<IBluetoothDevice3>(self)?;
535 unsafe {
536 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
537 (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), cachemode, &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<Rfcomm::RfcommDeviceServicesResult>>(result__)
538 }
539 }
540 #[cfg(all(feature = "Devices_Bluetooth_Rfcomm", feature = "Foundation"))]
541 pub fn GetRfcommServicesForIdAsync<'a, Param0: ::windows::runtime::IntoParam<'a, Rfcomm::RfcommServiceId>>(&self, serviceid: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<Rfcomm::RfcommDeviceServicesResult>> {
542 let this = &::windows::runtime::Interface::cast::<IBluetoothDevice3>(self)?;
543 unsafe {
544 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
545 (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), serviceid.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<Rfcomm::RfcommDeviceServicesResult>>(result__)
546 }
547 }
548 #[cfg(all(feature = "Devices_Bluetooth_Rfcomm", feature = "Foundation"))]
549 pub fn GetRfcommServicesForIdWithCacheModeAsync<'a, Param0: ::windows::runtime::IntoParam<'a, Rfcomm::RfcommServiceId>>(&self, serviceid: Param0, cachemode: BluetoothCacheMode) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<Rfcomm::RfcommDeviceServicesResult>> {
550 let this = &::windows::runtime::Interface::cast::<IBluetoothDevice3>(self)?;
551 unsafe {
552 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
553 (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), serviceid.into_param().abi(), cachemode, &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<Rfcomm::RfcommDeviceServicesResult>>(result__)
554 }
555 }
556 pub fn BluetoothDeviceId(&self) -> ::windows::runtime::Result<BluetoothDeviceId> {
557 let this = &::windows::runtime::Interface::cast::<IBluetoothDevice4>(self)?;
558 unsafe {
559 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
560 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<BluetoothDeviceId>(result__)
561 }
562 }
563 pub fn WasSecureConnectionUsedForPairing(&self) -> ::windows::runtime::Result<bool> {
564 let this = &::windows::runtime::Interface::cast::<IBluetoothDevice5>(self)?;
565 unsafe {
566 let mut result__: bool = ::std::mem::zeroed();
567 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
568 }
569 }
570 pub fn IBluetoothDeviceStatics<R, F: FnOnce(&IBluetoothDeviceStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
571 static mut SHARED: ::windows::runtime::FactoryCache<BluetoothDevice, IBluetoothDeviceStatics> = ::windows::runtime::FactoryCache::new();
572 unsafe { SHARED.call(callback) }
573 }
574 pub fn IBluetoothDeviceStatics2<R, F: FnOnce(&IBluetoothDeviceStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
575 static mut SHARED: ::windows::runtime::FactoryCache<BluetoothDevice, IBluetoothDeviceStatics2> = ::windows::runtime::FactoryCache::new();
576 unsafe { SHARED.call(callback) }
577 }
578 }
579 unsafe impl ::windows::runtime::RuntimeType for BluetoothDevice {
580 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.Bluetooth.BluetoothDevice;{2335b156-90d2-4a04-aef5-0e20b9e6b707})");
581 }
582 unsafe impl ::windows::runtime::Interface for BluetoothDevice {
583 type Vtable = IBluetoothDevice_abi;
584 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(590721366, 37074, 18948, [174, 245, 14, 32, 185, 230, 183, 7]);
585 }
586 impl ::windows::runtime::RuntimeName for BluetoothDevice {
587 const NAME: &'static str = "Windows.Devices.Bluetooth.BluetoothDevice";
588 }
589 impl ::std::convert::From<BluetoothDevice> for ::windows::runtime::IUnknown {
590 fn from(value: BluetoothDevice) -> Self {
591 unsafe { ::std::mem::transmute(value) }
592 }
593 }
594 impl ::std::convert::From<&BluetoothDevice> for ::windows::runtime::IUnknown {
595 fn from(value: &BluetoothDevice) -> Self {
596 ::std::convert::From::from(::std::clone::Clone::clone(value))
597 }
598 }
599 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for BluetoothDevice {
600 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
601 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
602 }
603 }
604 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &BluetoothDevice {
605 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
606 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
607 }
608 }
609 impl ::std::convert::From<BluetoothDevice> for ::windows::runtime::IInspectable {
610 fn from(value: BluetoothDevice) -> Self {
611 value.0
612 }
613 }
614 impl ::std::convert::From<&BluetoothDevice> for ::windows::runtime::IInspectable {
615 fn from(value: &BluetoothDevice) -> Self {
616 value.0.clone()
617 }
618 }
619 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for BluetoothDevice {
620 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
621 ::windows::runtime::Param::Owned(self.0)
622 }
623 }
624 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a BluetoothDevice {
625 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
626 ::windows::runtime::Param::Borrowed(&self.0)
627 }
628 }
629 #[cfg(feature = "Foundation")]
630 impl ::std::convert::TryFrom<BluetoothDevice> for super::super::Foundation::IClosable {
631 type Error = ::windows::runtime::Error;
632 fn try_from(value: BluetoothDevice) -> ::windows::runtime::Result<Self> {
633 ::std::convert::TryFrom::try_from(&value)
634 }
635 }
636 #[cfg(feature = "Foundation")]
637 impl ::std::convert::TryFrom<&BluetoothDevice> for super::super::Foundation::IClosable {
638 type Error = ::windows::runtime::Error;
639 fn try_from(value: &BluetoothDevice) -> ::windows::runtime::Result<Self> {
640 ::windows::runtime::Interface::cast(value)
641 }
642 }
643 #[cfg(feature = "Foundation")]
644 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for BluetoothDevice {
645 fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
646 ::windows::runtime::IntoParam::into_param(&self)
647 }
648 }
649 #[cfg(feature = "Foundation")]
650 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &BluetoothDevice {
651 fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
652 ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
653 }
654 }
655 unsafe impl ::std::marker::Send for BluetoothDevice {}
656 unsafe impl ::std::marker::Sync for BluetoothDevice {}
657 #[repr(transparent)]
658 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
659 pub struct BluetoothDeviceId(::windows::runtime::IInspectable);
660 impl BluetoothDeviceId {
661 pub fn Id(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
662 let this = self;
663 unsafe {
664 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
665 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
666 }
667 }
668 pub fn IsClassicDevice(&self) -> ::windows::runtime::Result<bool> {
669 let this = self;
670 unsafe {
671 let mut result__: bool = ::std::mem::zeroed();
672 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
673 }
674 }
675 pub fn IsLowEnergyDevice(&self) -> ::windows::runtime::Result<bool> {
676 let this = self;
677 unsafe {
678 let mut result__: bool = ::std::mem::zeroed();
679 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
680 }
681 }
682 pub fn FromId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(deviceid: Param0) -> ::windows::runtime::Result<BluetoothDeviceId> {
683 Self::IBluetoothDeviceIdStatics(|this| unsafe {
684 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
685 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), deviceid.into_param().abi(), &mut result__).from_abi::<BluetoothDeviceId>(result__)
686 })
687 }
688 pub fn IBluetoothDeviceIdStatics<R, F: FnOnce(&IBluetoothDeviceIdStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
689 static mut SHARED: ::windows::runtime::FactoryCache<BluetoothDeviceId, IBluetoothDeviceIdStatics> = ::windows::runtime::FactoryCache::new();
690 unsafe { SHARED.call(callback) }
691 }
692 }
693 unsafe impl ::windows::runtime::RuntimeType for BluetoothDeviceId {
694 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.Bluetooth.BluetoothDeviceId;{c17949af-57c1-4642-bcce-e6c06b20ae76})");
695 }
696 unsafe impl ::windows::runtime::Interface for BluetoothDeviceId {
697 type Vtable = IBluetoothDeviceId_abi;
698 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3245951407, 22465, 17986, [188, 206, 230, 192, 107, 32, 174, 118]);
699 }
700 impl ::windows::runtime::RuntimeName for BluetoothDeviceId {
701 const NAME: &'static str = "Windows.Devices.Bluetooth.BluetoothDeviceId";
702 }
703 impl ::std::convert::From<BluetoothDeviceId> for ::windows::runtime::IUnknown {
704 fn from(value: BluetoothDeviceId) -> Self {
705 unsafe { ::std::mem::transmute(value) }
706 }
707 }
708 impl ::std::convert::From<&BluetoothDeviceId> for ::windows::runtime::IUnknown {
709 fn from(value: &BluetoothDeviceId) -> Self {
710 ::std::convert::From::from(::std::clone::Clone::clone(value))
711 }
712 }
713 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for BluetoothDeviceId {
714 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
715 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
716 }
717 }
718 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &BluetoothDeviceId {
719 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
720 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
721 }
722 }
723 impl ::std::convert::From<BluetoothDeviceId> for ::windows::runtime::IInspectable {
724 fn from(value: BluetoothDeviceId) -> Self {
725 value.0
726 }
727 }
728 impl ::std::convert::From<&BluetoothDeviceId> for ::windows::runtime::IInspectable {
729 fn from(value: &BluetoothDeviceId) -> Self {
730 value.0.clone()
731 }
732 }
733 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for BluetoothDeviceId {
734 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
735 ::windows::runtime::Param::Owned(self.0)
736 }
737 }
738 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a BluetoothDeviceId {
739 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
740 ::windows::runtime::Param::Borrowed(&self.0)
741 }
742 }
743 unsafe impl ::std::marker::Send for BluetoothDeviceId {}
744 unsafe impl ::std::marker::Sync for BluetoothDeviceId {}
745 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
746 #[repr(transparent)]
747 pub struct BluetoothError(pub i32);
748 impl BluetoothError {
749 pub const Success: BluetoothError = BluetoothError(0i32);
750 pub const RadioNotAvailable: BluetoothError = BluetoothError(1i32);
751 pub const ResourceInUse: BluetoothError = BluetoothError(2i32);
752 pub const DeviceNotConnected: BluetoothError = BluetoothError(3i32);
753 pub const OtherError: BluetoothError = BluetoothError(4i32);
754 pub const DisabledByPolicy: BluetoothError = BluetoothError(5i32);
755 pub const NotSupported: BluetoothError = BluetoothError(6i32);
756 pub const DisabledByUser: BluetoothError = BluetoothError(7i32);
757 pub const ConsentRequired: BluetoothError = BluetoothError(8i32);
758 pub const TransportNotSupported: BluetoothError = BluetoothError(9i32);
759 }
760 impl ::std::convert::From<i32> for BluetoothError {
761 fn from(value: i32) -> Self {
762 Self(value)
763 }
764 }
765 unsafe impl ::windows::runtime::Abi for BluetoothError {
766 type Abi = Self;
767 type DefaultType = Self;
768 }
769 unsafe impl ::windows::runtime::RuntimeType for BluetoothError {
770 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Devices.Bluetooth.BluetoothError;i4)");
771 }
772 #[repr(transparent)]
773 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
774 pub struct BluetoothLEAppearance(::windows::runtime::IInspectable);
775 impl BluetoothLEAppearance {
776 pub fn RawValue(&self) -> ::windows::runtime::Result<u16> {
777 let this = self;
778 unsafe {
779 let mut result__: u16 = ::std::mem::zeroed();
780 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
781 }
782 }
783 pub fn Category(&self) -> ::windows::runtime::Result<u16> {
784 let this = self;
785 unsafe {
786 let mut result__: u16 = ::std::mem::zeroed();
787 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
788 }
789 }
790 pub fn SubCategory(&self) -> ::windows::runtime::Result<u16> {
791 let this = self;
792 unsafe {
793 let mut result__: u16 = ::std::mem::zeroed();
794 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
795 }
796 }
797 pub fn FromRawValue(rawvalue: u16) -> ::windows::runtime::Result<BluetoothLEAppearance> {
798 Self::IBluetoothLEAppearanceStatics(|this| unsafe {
799 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
800 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), rawvalue, &mut result__).from_abi::<BluetoothLEAppearance>(result__)
801 })
802 }
803 pub fn FromParts(appearancecategory: u16, appearancesubcategory: u16) -> ::windows::runtime::Result<BluetoothLEAppearance> {
804 Self::IBluetoothLEAppearanceStatics(|this| unsafe {
805 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
806 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), appearancecategory, appearancesubcategory, &mut result__).from_abi::<BluetoothLEAppearance>(result__)
807 })
808 }
809 pub fn IBluetoothLEAppearanceStatics<R, F: FnOnce(&IBluetoothLEAppearanceStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
810 static mut SHARED: ::windows::runtime::FactoryCache<BluetoothLEAppearance, IBluetoothLEAppearanceStatics> = ::windows::runtime::FactoryCache::new();
811 unsafe { SHARED.call(callback) }
812 }
813 }
814 unsafe impl ::windows::runtime::RuntimeType for BluetoothLEAppearance {
815 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.Bluetooth.BluetoothLEAppearance;{5d2079f2-66a8-4258-985e-02b4d9509f18})");
816 }
817 unsafe impl ::windows::runtime::Interface for BluetoothLEAppearance {
818 type Vtable = IBluetoothLEAppearance_abi;
819 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1562409458, 26280, 16984, [152, 94, 2, 180, 217, 80, 159, 24]);
820 }
821 impl ::windows::runtime::RuntimeName for BluetoothLEAppearance {
822 const NAME: &'static str = "Windows.Devices.Bluetooth.BluetoothLEAppearance";
823 }
824 impl ::std::convert::From<BluetoothLEAppearance> for ::windows::runtime::IUnknown {
825 fn from(value: BluetoothLEAppearance) -> Self {
826 unsafe { ::std::mem::transmute(value) }
827 }
828 }
829 impl ::std::convert::From<&BluetoothLEAppearance> for ::windows::runtime::IUnknown {
830 fn from(value: &BluetoothLEAppearance) -> Self {
831 ::std::convert::From::from(::std::clone::Clone::clone(value))
832 }
833 }
834 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for BluetoothLEAppearance {
835 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
836 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
837 }
838 }
839 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &BluetoothLEAppearance {
840 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
841 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
842 }
843 }
844 impl ::std::convert::From<BluetoothLEAppearance> for ::windows::runtime::IInspectable {
845 fn from(value: BluetoothLEAppearance) -> Self {
846 value.0
847 }
848 }
849 impl ::std::convert::From<&BluetoothLEAppearance> for ::windows::runtime::IInspectable {
850 fn from(value: &BluetoothLEAppearance) -> Self {
851 value.0.clone()
852 }
853 }
854 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for BluetoothLEAppearance {
855 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
856 ::windows::runtime::Param::Owned(self.0)
857 }
858 }
859 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a BluetoothLEAppearance {
860 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
861 ::windows::runtime::Param::Borrowed(&self.0)
862 }
863 }
864 unsafe impl ::std::marker::Send for BluetoothLEAppearance {}
865 unsafe impl ::std::marker::Sync for BluetoothLEAppearance {}
866 pub struct BluetoothLEAppearanceCategories {}
867 impl BluetoothLEAppearanceCategories {
868 pub fn Uncategorized() -> ::windows::runtime::Result<u16> {
869 Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe {
870 let mut result__: u16 = ::std::mem::zeroed();
871 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
872 })
873 }
874 pub fn Phone() -> ::windows::runtime::Result<u16> {
875 Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe {
876 let mut result__: u16 = ::std::mem::zeroed();
877 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
878 })
879 }
880 pub fn Computer() -> ::windows::runtime::Result<u16> {
881 Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe {
882 let mut result__: u16 = ::std::mem::zeroed();
883 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
884 })
885 }
886 pub fn Watch() -> ::windows::runtime::Result<u16> {
887 Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe {
888 let mut result__: u16 = ::std::mem::zeroed();
889 (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
890 })
891 }
892 pub fn Clock() -> ::windows::runtime::Result<u16> {
893 Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe {
894 let mut result__: u16 = ::std::mem::zeroed();
895 (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
896 })
897 }
898 pub fn Display() -> ::windows::runtime::Result<u16> {
899 Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe {
900 let mut result__: u16 = ::std::mem::zeroed();
901 (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
902 })
903 }
904 pub fn RemoteControl() -> ::windows::runtime::Result<u16> {
905 Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe {
906 let mut result__: u16 = ::std::mem::zeroed();
907 (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
908 })
909 }
910 pub fn EyeGlasses() -> ::windows::runtime::Result<u16> {
911 Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe {
912 let mut result__: u16 = ::std::mem::zeroed();
913 (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
914 })
915 }
916 pub fn Tag() -> ::windows::runtime::Result<u16> {
917 Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe {
918 let mut result__: u16 = ::std::mem::zeroed();
919 (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
920 })
921 }
922 pub fn Keyring() -> ::windows::runtime::Result<u16> {
923 Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe {
924 let mut result__: u16 = ::std::mem::zeroed();
925 (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
926 })
927 }
928 pub fn MediaPlayer() -> ::windows::runtime::Result<u16> {
929 Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe {
930 let mut result__: u16 = ::std::mem::zeroed();
931 (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
932 })
933 }
934 pub fn BarcodeScanner() -> ::windows::runtime::Result<u16> {
935 Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe {
936 let mut result__: u16 = ::std::mem::zeroed();
937 (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
938 })
939 }
940 pub fn Thermometer() -> ::windows::runtime::Result<u16> {
941 Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe {
942 let mut result__: u16 = ::std::mem::zeroed();
943 (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
944 })
945 }
946 pub fn HeartRate() -> ::windows::runtime::Result<u16> {
947 Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe {
948 let mut result__: u16 = ::std::mem::zeroed();
949 (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
950 })
951 }
952 pub fn BloodPressure() -> ::windows::runtime::Result<u16> {
953 Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe {
954 let mut result__: u16 = ::std::mem::zeroed();
955 (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
956 })
957 }
958 pub fn HumanInterfaceDevice() -> ::windows::runtime::Result<u16> {
959 Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe {
960 let mut result__: u16 = ::std::mem::zeroed();
961 (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
962 })
963 }
964 pub fn GlucoseMeter() -> ::windows::runtime::Result<u16> {
965 Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe {
966 let mut result__: u16 = ::std::mem::zeroed();
967 (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
968 })
969 }
970 pub fn RunningWalking() -> ::windows::runtime::Result<u16> {
971 Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe {
972 let mut result__: u16 = ::std::mem::zeroed();
973 (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
974 })
975 }
976 pub fn Cycling() -> ::windows::runtime::Result<u16> {
977 Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe {
978 let mut result__: u16 = ::std::mem::zeroed();
979 (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
980 })
981 }
982 pub fn PulseOximeter() -> ::windows::runtime::Result<u16> {
983 Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe {
984 let mut result__: u16 = ::std::mem::zeroed();
985 (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
986 })
987 }
988 pub fn WeightScale() -> ::windows::runtime::Result<u16> {
989 Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe {
990 let mut result__: u16 = ::std::mem::zeroed();
991 (::windows::runtime::Interface::vtable(this).26)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
992 })
993 }
994 pub fn OutdoorSportActivity() -> ::windows::runtime::Result<u16> {
995 Self::IBluetoothLEAppearanceCategoriesStatics(|this| unsafe {
996 let mut result__: u16 = ::std::mem::zeroed();
997 (::windows::runtime::Interface::vtable(this).27)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
998 })
999 }
1000 pub fn IBluetoothLEAppearanceCategoriesStatics<R, F: FnOnce(&IBluetoothLEAppearanceCategoriesStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1001 static mut SHARED: ::windows::runtime::FactoryCache<BluetoothLEAppearanceCategories, IBluetoothLEAppearanceCategoriesStatics> = ::windows::runtime::FactoryCache::new();
1002 unsafe { SHARED.call(callback) }
1003 }
1004 }
1005 impl ::windows::runtime::RuntimeName for BluetoothLEAppearanceCategories {
1006 const NAME: &'static str = "Windows.Devices.Bluetooth.BluetoothLEAppearanceCategories";
1007 }
1008 pub struct BluetoothLEAppearanceSubcategories {}
1009 impl BluetoothLEAppearanceSubcategories {
1010 pub fn Generic() -> ::windows::runtime::Result<u16> {
1011 Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe {
1012 let mut result__: u16 = ::std::mem::zeroed();
1013 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1014 })
1015 }
1016 pub fn SportsWatch() -> ::windows::runtime::Result<u16> {
1017 Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe {
1018 let mut result__: u16 = ::std::mem::zeroed();
1019 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1020 })
1021 }
1022 pub fn ThermometerEar() -> ::windows::runtime::Result<u16> {
1023 Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe {
1024 let mut result__: u16 = ::std::mem::zeroed();
1025 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1026 })
1027 }
1028 pub fn HeartRateBelt() -> ::windows::runtime::Result<u16> {
1029 Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe {
1030 let mut result__: u16 = ::std::mem::zeroed();
1031 (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1032 })
1033 }
1034 pub fn BloodPressureArm() -> ::windows::runtime::Result<u16> {
1035 Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe {
1036 let mut result__: u16 = ::std::mem::zeroed();
1037 (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1038 })
1039 }
1040 pub fn BloodPressureWrist() -> ::windows::runtime::Result<u16> {
1041 Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe {
1042 let mut result__: u16 = ::std::mem::zeroed();
1043 (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1044 })
1045 }
1046 pub fn Keyboard() -> ::windows::runtime::Result<u16> {
1047 Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe {
1048 let mut result__: u16 = ::std::mem::zeroed();
1049 (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1050 })
1051 }
1052 pub fn Mouse() -> ::windows::runtime::Result<u16> {
1053 Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe {
1054 let mut result__: u16 = ::std::mem::zeroed();
1055 (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1056 })
1057 }
1058 pub fn Joystick() -> ::windows::runtime::Result<u16> {
1059 Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe {
1060 let mut result__: u16 = ::std::mem::zeroed();
1061 (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1062 })
1063 }
1064 pub fn Gamepad() -> ::windows::runtime::Result<u16> {
1065 Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe {
1066 let mut result__: u16 = ::std::mem::zeroed();
1067 (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1068 })
1069 }
1070 pub fn DigitizerTablet() -> ::windows::runtime::Result<u16> {
1071 Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe {
1072 let mut result__: u16 = ::std::mem::zeroed();
1073 (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1074 })
1075 }
1076 pub fn CardReader() -> ::windows::runtime::Result<u16> {
1077 Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe {
1078 let mut result__: u16 = ::std::mem::zeroed();
1079 (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1080 })
1081 }
1082 pub fn DigitalPen() -> ::windows::runtime::Result<u16> {
1083 Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe {
1084 let mut result__: u16 = ::std::mem::zeroed();
1085 (::windows::runtime::Interface::vtable(this).18)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1086 })
1087 }
1088 pub fn BarcodeScanner() -> ::windows::runtime::Result<u16> {
1089 Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe {
1090 let mut result__: u16 = ::std::mem::zeroed();
1091 (::windows::runtime::Interface::vtable(this).19)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1092 })
1093 }
1094 pub fn RunningWalkingInShoe() -> ::windows::runtime::Result<u16> {
1095 Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe {
1096 let mut result__: u16 = ::std::mem::zeroed();
1097 (::windows::runtime::Interface::vtable(this).20)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1098 })
1099 }
1100 pub fn RunningWalkingOnShoe() -> ::windows::runtime::Result<u16> {
1101 Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe {
1102 let mut result__: u16 = ::std::mem::zeroed();
1103 (::windows::runtime::Interface::vtable(this).21)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1104 })
1105 }
1106 pub fn RunningWalkingOnHip() -> ::windows::runtime::Result<u16> {
1107 Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe {
1108 let mut result__: u16 = ::std::mem::zeroed();
1109 (::windows::runtime::Interface::vtable(this).22)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1110 })
1111 }
1112 pub fn CyclingComputer() -> ::windows::runtime::Result<u16> {
1113 Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe {
1114 let mut result__: u16 = ::std::mem::zeroed();
1115 (::windows::runtime::Interface::vtable(this).23)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1116 })
1117 }
1118 pub fn CyclingSpeedSensor() -> ::windows::runtime::Result<u16> {
1119 Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe {
1120 let mut result__: u16 = ::std::mem::zeroed();
1121 (::windows::runtime::Interface::vtable(this).24)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1122 })
1123 }
1124 pub fn CyclingCadenceSensor() -> ::windows::runtime::Result<u16> {
1125 Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe {
1126 let mut result__: u16 = ::std::mem::zeroed();
1127 (::windows::runtime::Interface::vtable(this).25)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1128 })
1129 }
1130 pub fn CyclingPowerSensor() -> ::windows::runtime::Result<u16> {
1131 Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe {
1132 let mut result__: u16 = ::std::mem::zeroed();
1133 (::windows::runtime::Interface::vtable(this).26)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1134 })
1135 }
1136 pub fn CyclingSpeedCadenceSensor() -> ::windows::runtime::Result<u16> {
1137 Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe {
1138 let mut result__: u16 = ::std::mem::zeroed();
1139 (::windows::runtime::Interface::vtable(this).27)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1140 })
1141 }
1142 pub fn OximeterFingertip() -> ::windows::runtime::Result<u16> {
1143 Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe {
1144 let mut result__: u16 = ::std::mem::zeroed();
1145 (::windows::runtime::Interface::vtable(this).28)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1146 })
1147 }
1148 pub fn OximeterWristWorn() -> ::windows::runtime::Result<u16> {
1149 Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe {
1150 let mut result__: u16 = ::std::mem::zeroed();
1151 (::windows::runtime::Interface::vtable(this).29)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1152 })
1153 }
1154 pub fn LocationDisplay() -> ::windows::runtime::Result<u16> {
1155 Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe {
1156 let mut result__: u16 = ::std::mem::zeroed();
1157 (::windows::runtime::Interface::vtable(this).30)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1158 })
1159 }
1160 pub fn LocationNavigationDisplay() -> ::windows::runtime::Result<u16> {
1161 Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe {
1162 let mut result__: u16 = ::std::mem::zeroed();
1163 (::windows::runtime::Interface::vtable(this).31)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1164 })
1165 }
1166 pub fn LocationPod() -> ::windows::runtime::Result<u16> {
1167 Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe {
1168 let mut result__: u16 = ::std::mem::zeroed();
1169 (::windows::runtime::Interface::vtable(this).32)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1170 })
1171 }
1172 pub fn LocationNavigationPod() -> ::windows::runtime::Result<u16> {
1173 Self::IBluetoothLEAppearanceSubcategoriesStatics(|this| unsafe {
1174 let mut result__: u16 = ::std::mem::zeroed();
1175 (::windows::runtime::Interface::vtable(this).33)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1176 })
1177 }
1178 pub fn IBluetoothLEAppearanceSubcategoriesStatics<R, F: FnOnce(&IBluetoothLEAppearanceSubcategoriesStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1179 static mut SHARED: ::windows::runtime::FactoryCache<BluetoothLEAppearanceSubcategories, IBluetoothLEAppearanceSubcategoriesStatics> = ::windows::runtime::FactoryCache::new();
1180 unsafe { SHARED.call(callback) }
1181 }
1182 }
1183 impl ::windows::runtime::RuntimeName for BluetoothLEAppearanceSubcategories {
1184 const NAME: &'static str = "Windows.Devices.Bluetooth.BluetoothLEAppearanceSubcategories";
1185 }
1186 #[repr(transparent)]
1187 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1188 pub struct BluetoothLEConnectionParameters(::windows::runtime::IInspectable);
1189 impl BluetoothLEConnectionParameters {
1190 pub fn LinkTimeout(&self) -> ::windows::runtime::Result<u16> {
1191 let this = self;
1192 unsafe {
1193 let mut result__: u16 = ::std::mem::zeroed();
1194 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1195 }
1196 }
1197 pub fn ConnectionLatency(&self) -> ::windows::runtime::Result<u16> {
1198 let this = self;
1199 unsafe {
1200 let mut result__: u16 = ::std::mem::zeroed();
1201 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1202 }
1203 }
1204 pub fn ConnectionInterval(&self) -> ::windows::runtime::Result<u16> {
1205 let this = self;
1206 unsafe {
1207 let mut result__: u16 = ::std::mem::zeroed();
1208 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1209 }
1210 }
1211 }
1212 unsafe impl ::windows::runtime::RuntimeType for BluetoothLEConnectionParameters {
1213 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.Bluetooth.BluetoothLEConnectionParameters;{33cb0771-8da9-508f-a366-1ca388c929ab})");
1214 }
1215 unsafe impl ::windows::runtime::Interface for BluetoothLEConnectionParameters {
1216 type Vtable = IBluetoothLEConnectionParameters_abi;
1217 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(868943729, 36265, 20623, [163, 102, 28, 163, 136, 201, 41, 171]);
1218 }
1219 impl ::windows::runtime::RuntimeName for BluetoothLEConnectionParameters {
1220 const NAME: &'static str = "Windows.Devices.Bluetooth.BluetoothLEConnectionParameters";
1221 }
1222 impl ::std::convert::From<BluetoothLEConnectionParameters> for ::windows::runtime::IUnknown {
1223 fn from(value: BluetoothLEConnectionParameters) -> Self {
1224 unsafe { ::std::mem::transmute(value) }
1225 }
1226 }
1227 impl ::std::convert::From<&BluetoothLEConnectionParameters> for ::windows::runtime::IUnknown {
1228 fn from(value: &BluetoothLEConnectionParameters) -> Self {
1229 ::std::convert::From::from(::std::clone::Clone::clone(value))
1230 }
1231 }
1232 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for BluetoothLEConnectionParameters {
1233 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1234 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1235 }
1236 }
1237 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &BluetoothLEConnectionParameters {
1238 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1239 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1240 }
1241 }
1242 impl ::std::convert::From<BluetoothLEConnectionParameters> for ::windows::runtime::IInspectable {
1243 fn from(value: BluetoothLEConnectionParameters) -> Self {
1244 value.0
1245 }
1246 }
1247 impl ::std::convert::From<&BluetoothLEConnectionParameters> for ::windows::runtime::IInspectable {
1248 fn from(value: &BluetoothLEConnectionParameters) -> Self {
1249 value.0.clone()
1250 }
1251 }
1252 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for BluetoothLEConnectionParameters {
1253 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1254 ::windows::runtime::Param::Owned(self.0)
1255 }
1256 }
1257 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a BluetoothLEConnectionParameters {
1258 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1259 ::windows::runtime::Param::Borrowed(&self.0)
1260 }
1261 }
1262 unsafe impl ::std::marker::Send for BluetoothLEConnectionParameters {}
1263 unsafe impl ::std::marker::Sync for BluetoothLEConnectionParameters {}
1264 #[repr(transparent)]
1265 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1266 pub struct BluetoothLEConnectionPhy(::windows::runtime::IInspectable);
1267 impl BluetoothLEConnectionPhy {
1268 pub fn TransmitInfo(&self) -> ::windows::runtime::Result<BluetoothLEConnectionPhyInfo> {
1269 let this = self;
1270 unsafe {
1271 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1272 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<BluetoothLEConnectionPhyInfo>(result__)
1273 }
1274 }
1275 pub fn ReceiveInfo(&self) -> ::windows::runtime::Result<BluetoothLEConnectionPhyInfo> {
1276 let this = self;
1277 unsafe {
1278 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1279 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<BluetoothLEConnectionPhyInfo>(result__)
1280 }
1281 }
1282 }
1283 unsafe impl ::windows::runtime::RuntimeType for BluetoothLEConnectionPhy {
1284 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.Bluetooth.BluetoothLEConnectionPhy;{781e5e48-621e-5a7e-8be6-1b9561ff63c9})");
1285 }
1286 unsafe impl ::windows::runtime::Interface for BluetoothLEConnectionPhy {
1287 type Vtable = IBluetoothLEConnectionPhy_abi;
1288 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2015256136, 25118, 23166, [139, 230, 27, 149, 97, 255, 99, 201]);
1289 }
1290 impl ::windows::runtime::RuntimeName for BluetoothLEConnectionPhy {
1291 const NAME: &'static str = "Windows.Devices.Bluetooth.BluetoothLEConnectionPhy";
1292 }
1293 impl ::std::convert::From<BluetoothLEConnectionPhy> for ::windows::runtime::IUnknown {
1294 fn from(value: BluetoothLEConnectionPhy) -> Self {
1295 unsafe { ::std::mem::transmute(value) }
1296 }
1297 }
1298 impl ::std::convert::From<&BluetoothLEConnectionPhy> for ::windows::runtime::IUnknown {
1299 fn from(value: &BluetoothLEConnectionPhy) -> Self {
1300 ::std::convert::From::from(::std::clone::Clone::clone(value))
1301 }
1302 }
1303 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for BluetoothLEConnectionPhy {
1304 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1305 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1306 }
1307 }
1308 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &BluetoothLEConnectionPhy {
1309 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1310 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1311 }
1312 }
1313 impl ::std::convert::From<BluetoothLEConnectionPhy> for ::windows::runtime::IInspectable {
1314 fn from(value: BluetoothLEConnectionPhy) -> Self {
1315 value.0
1316 }
1317 }
1318 impl ::std::convert::From<&BluetoothLEConnectionPhy> for ::windows::runtime::IInspectable {
1319 fn from(value: &BluetoothLEConnectionPhy) -> Self {
1320 value.0.clone()
1321 }
1322 }
1323 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for BluetoothLEConnectionPhy {
1324 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1325 ::windows::runtime::Param::Owned(self.0)
1326 }
1327 }
1328 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a BluetoothLEConnectionPhy {
1329 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1330 ::windows::runtime::Param::Borrowed(&self.0)
1331 }
1332 }
1333 unsafe impl ::std::marker::Send for BluetoothLEConnectionPhy {}
1334 unsafe impl ::std::marker::Sync for BluetoothLEConnectionPhy {}
1335 #[repr(transparent)]
1336 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1337 pub struct BluetoothLEConnectionPhyInfo(::windows::runtime::IInspectable);
1338 impl BluetoothLEConnectionPhyInfo {
1339 pub fn IsUncoded1MPhy(&self) -> ::windows::runtime::Result<bool> {
1340 let this = self;
1341 unsafe {
1342 let mut result__: bool = ::std::mem::zeroed();
1343 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
1344 }
1345 }
1346 pub fn IsUncoded2MPhy(&self) -> ::windows::runtime::Result<bool> {
1347 let this = self;
1348 unsafe {
1349 let mut result__: bool = ::std::mem::zeroed();
1350 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
1351 }
1352 }
1353 pub fn IsCodedPhy(&self) -> ::windows::runtime::Result<bool> {
1354 let this = self;
1355 unsafe {
1356 let mut result__: bool = ::std::mem::zeroed();
1357 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
1358 }
1359 }
1360 }
1361 unsafe impl ::windows::runtime::RuntimeType for BluetoothLEConnectionPhyInfo {
1362 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.Bluetooth.BluetoothLEConnectionPhyInfo;{9a100bdd-602e-5c27-a1ae-b230015a6394})");
1363 }
1364 unsafe impl ::windows::runtime::Interface for BluetoothLEConnectionPhyInfo {
1365 type Vtable = IBluetoothLEConnectionPhyInfo_abi;
1366 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2584742877, 24622, 23591, [161, 174, 178, 48, 1, 90, 99, 148]);
1367 }
1368 impl ::windows::runtime::RuntimeName for BluetoothLEConnectionPhyInfo {
1369 const NAME: &'static str = "Windows.Devices.Bluetooth.BluetoothLEConnectionPhyInfo";
1370 }
1371 impl ::std::convert::From<BluetoothLEConnectionPhyInfo> for ::windows::runtime::IUnknown {
1372 fn from(value: BluetoothLEConnectionPhyInfo) -> Self {
1373 unsafe { ::std::mem::transmute(value) }
1374 }
1375 }
1376 impl ::std::convert::From<&BluetoothLEConnectionPhyInfo> for ::windows::runtime::IUnknown {
1377 fn from(value: &BluetoothLEConnectionPhyInfo) -> Self {
1378 ::std::convert::From::from(::std::clone::Clone::clone(value))
1379 }
1380 }
1381 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for BluetoothLEConnectionPhyInfo {
1382 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1383 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1384 }
1385 }
1386 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &BluetoothLEConnectionPhyInfo {
1387 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1388 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1389 }
1390 }
1391 impl ::std::convert::From<BluetoothLEConnectionPhyInfo> for ::windows::runtime::IInspectable {
1392 fn from(value: BluetoothLEConnectionPhyInfo) -> Self {
1393 value.0
1394 }
1395 }
1396 impl ::std::convert::From<&BluetoothLEConnectionPhyInfo> for ::windows::runtime::IInspectable {
1397 fn from(value: &BluetoothLEConnectionPhyInfo) -> Self {
1398 value.0.clone()
1399 }
1400 }
1401 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for BluetoothLEConnectionPhyInfo {
1402 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1403 ::windows::runtime::Param::Owned(self.0)
1404 }
1405 }
1406 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a BluetoothLEConnectionPhyInfo {
1407 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1408 ::windows::runtime::Param::Borrowed(&self.0)
1409 }
1410 }
1411 unsafe impl ::std::marker::Send for BluetoothLEConnectionPhyInfo {}
1412 unsafe impl ::std::marker::Sync for BluetoothLEConnectionPhyInfo {}
1413 #[repr(transparent)]
1414 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1415 pub struct BluetoothLEDevice(::windows::runtime::IInspectable);
1416 impl BluetoothLEDevice {
1417 pub fn DeviceId(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1418 let this = self;
1419 unsafe {
1420 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1421 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1422 }
1423 }
1424 pub fn Name(&self) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1425 let this = self;
1426 unsafe {
1427 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1428 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1429 }
1430 }
1431 #[cfg(feature = "deprecated")]
1432 #[cfg(all(feature = "Devices_Bluetooth_GenericAttributeProfile", feature = "Foundation_Collections"))]
1433 pub fn GattServices(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<GenericAttributeProfile::GattDeviceService>> {
1434 let this = self;
1435 unsafe {
1436 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1437 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<GenericAttributeProfile::GattDeviceService>>(result__)
1438 }
1439 }
1440 pub fn ConnectionStatus(&self) -> ::windows::runtime::Result<BluetoothConnectionStatus> {
1441 let this = self;
1442 unsafe {
1443 let mut result__: BluetoothConnectionStatus = ::std::mem::zeroed();
1444 (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<BluetoothConnectionStatus>(result__)
1445 }
1446 }
1447 pub fn BluetoothAddress(&self) -> ::windows::runtime::Result<u64> {
1448 let this = self;
1449 unsafe {
1450 let mut result__: u64 = ::std::mem::zeroed();
1451 (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u64>(result__)
1452 }
1453 }
1454 #[cfg(feature = "deprecated")]
1455 #[cfg(feature = "Devices_Bluetooth_GenericAttributeProfile")]
1456 pub fn GetGattService<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, serviceuuid: Param0) -> ::windows::runtime::Result<GenericAttributeProfile::GattDeviceService> {
1457 let this = self;
1458 unsafe {
1459 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1460 (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), serviceuuid.into_param().abi(), &mut result__).from_abi::<GenericAttributeProfile::GattDeviceService>(result__)
1461 }
1462 }
1463 #[cfg(feature = "Foundation")]
1464 pub fn NameChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<BluetoothLEDevice, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
1465 let this = self;
1466 unsafe {
1467 let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1468 (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
1469 }
1470 }
1471 #[cfg(feature = "Foundation")]
1472 pub fn RemoveNameChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
1473 let this = self;
1474 unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
1475 }
1476 #[cfg(feature = "Foundation")]
1477 pub fn GattServicesChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<BluetoothLEDevice, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
1478 let this = self;
1479 unsafe {
1480 let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1481 (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
1482 }
1483 }
1484 #[cfg(feature = "Foundation")]
1485 pub fn RemoveGattServicesChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
1486 let this = self;
1487 unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
1488 }
1489 #[cfg(feature = "Foundation")]
1490 pub fn ConnectionStatusChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<BluetoothLEDevice, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
1491 let this = self;
1492 unsafe {
1493 let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1494 (::windows::runtime::Interface::vtable(this).16)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
1495 }
1496 }
1497 #[cfg(feature = "Foundation")]
1498 pub fn RemoveConnectionStatusChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
1499 let this = self;
1500 unsafe { (::windows::runtime::Interface::vtable(this).17)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
1501 }
1502 #[cfg(feature = "Foundation")]
1503 pub fn Close(&self) -> ::windows::runtime::Result<()> {
1504 let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
1505 unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
1506 }
1507 #[cfg(feature = "Foundation")]
1508 pub fn FromIdAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(deviceid: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<BluetoothLEDevice>> {
1509 Self::IBluetoothLEDeviceStatics(|this| unsafe {
1510 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1511 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), deviceid.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<BluetoothLEDevice>>(result__)
1512 })
1513 }
1514 #[cfg(feature = "Foundation")]
1515 pub fn FromBluetoothAddressAsync(bluetoothaddress: u64) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<BluetoothLEDevice>> {
1516 Self::IBluetoothLEDeviceStatics(|this| unsafe {
1517 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1518 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), bluetoothaddress, &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<BluetoothLEDevice>>(result__)
1519 })
1520 }
1521 pub fn GetDeviceSelector() -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1522 Self::IBluetoothLEDeviceStatics(|this| unsafe {
1523 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1524 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1525 })
1526 }
1527 #[cfg(feature = "Devices_Enumeration")]
1528 pub fn DeviceInformation(&self) -> ::windows::runtime::Result<super::Enumeration::DeviceInformation> {
1529 let this = &::windows::runtime::Interface::cast::<IBluetoothLEDevice2>(self)?;
1530 unsafe {
1531 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1532 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Enumeration::DeviceInformation>(result__)
1533 }
1534 }
1535 pub fn Appearance(&self) -> ::windows::runtime::Result<BluetoothLEAppearance> {
1536 let this = &::windows::runtime::Interface::cast::<IBluetoothLEDevice2>(self)?;
1537 unsafe {
1538 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1539 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<BluetoothLEAppearance>(result__)
1540 }
1541 }
1542 pub fn BluetoothAddressType(&self) -> ::windows::runtime::Result<BluetoothAddressType> {
1543 let this = &::windows::runtime::Interface::cast::<IBluetoothLEDevice2>(self)?;
1544 unsafe {
1545 let mut result__: BluetoothAddressType = ::std::mem::zeroed();
1546 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<BluetoothAddressType>(result__)
1547 }
1548 }
1549 pub fn GetDeviceSelectorFromPairingState(pairingstate: bool) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1550 Self::IBluetoothLEDeviceStatics2(|this| unsafe {
1551 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1552 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), pairingstate, &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1553 })
1554 }
1555 pub fn GetDeviceSelectorFromConnectionStatus(connectionstatus: BluetoothConnectionStatus) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1556 Self::IBluetoothLEDeviceStatics2(|this| unsafe {
1557 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1558 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), connectionstatus, &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1559 })
1560 }
1561 pub fn GetDeviceSelectorFromDeviceName<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(devicename: Param0) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1562 Self::IBluetoothLEDeviceStatics2(|this| unsafe {
1563 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1564 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), devicename.into_param().abi(), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1565 })
1566 }
1567 pub fn GetDeviceSelectorFromBluetoothAddress(bluetoothaddress: u64) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1568 Self::IBluetoothLEDeviceStatics2(|this| unsafe {
1569 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1570 (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), bluetoothaddress, &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1571 })
1572 }
1573 pub fn GetDeviceSelectorFromBluetoothAddressWithBluetoothAddressType(bluetoothaddress: u64, bluetoothaddresstype: BluetoothAddressType) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1574 Self::IBluetoothLEDeviceStatics2(|this| unsafe {
1575 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1576 (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), bluetoothaddress, bluetoothaddresstype, &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1577 })
1578 }
1579 pub fn GetDeviceSelectorFromAppearance<'a, Param0: ::windows::runtime::IntoParam<'a, BluetoothLEAppearance>>(appearance: Param0) -> ::windows::runtime::Result<::windows::runtime::HSTRING> {
1580 Self::IBluetoothLEDeviceStatics2(|this| unsafe {
1581 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed();
1582 (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), appearance.into_param().abi(), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__)
1583 })
1584 }
1585 #[cfg(feature = "Foundation")]
1586 pub fn FromBluetoothAddressWithBluetoothAddressTypeAsync(bluetoothaddress: u64, bluetoothaddresstype: BluetoothAddressType) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<BluetoothLEDevice>> {
1587 Self::IBluetoothLEDeviceStatics2(|this| unsafe {
1588 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1589 (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), bluetoothaddress, bluetoothaddresstype, &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<BluetoothLEDevice>>(result__)
1590 })
1591 }
1592 #[cfg(feature = "Devices_Enumeration")]
1593 pub fn DeviceAccessInformation(&self) -> ::windows::runtime::Result<super::Enumeration::DeviceAccessInformation> {
1594 let this = &::windows::runtime::Interface::cast::<IBluetoothLEDevice3>(self)?;
1595 unsafe {
1596 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1597 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::Enumeration::DeviceAccessInformation>(result__)
1598 }
1599 }
1600 #[cfg(all(feature = "Devices_Enumeration", feature = "Foundation"))]
1601 pub fn RequestAccessAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::Enumeration::DeviceAccessStatus>> {
1602 let this = &::windows::runtime::Interface::cast::<IBluetoothLEDevice3>(self)?;
1603 unsafe {
1604 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1605 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<super::Enumeration::DeviceAccessStatus>>(result__)
1606 }
1607 }
1608 #[cfg(all(feature = "Devices_Bluetooth_GenericAttributeProfile", feature = "Foundation"))]
1609 pub fn GetGattServicesAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<GenericAttributeProfile::GattDeviceServicesResult>> {
1610 let this = &::windows::runtime::Interface::cast::<IBluetoothLEDevice3>(self)?;
1611 unsafe {
1612 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1613 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<GenericAttributeProfile::GattDeviceServicesResult>>(result__)
1614 }
1615 }
1616 #[cfg(all(feature = "Devices_Bluetooth_GenericAttributeProfile", feature = "Foundation"))]
1617 pub fn GetGattServicesWithCacheModeAsync(&self, cachemode: BluetoothCacheMode) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<GenericAttributeProfile::GattDeviceServicesResult>> {
1618 let this = &::windows::runtime::Interface::cast::<IBluetoothLEDevice3>(self)?;
1619 unsafe {
1620 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1621 (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), cachemode, &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<GenericAttributeProfile::GattDeviceServicesResult>>(result__)
1622 }
1623 }
1624 #[cfg(all(feature = "Devices_Bluetooth_GenericAttributeProfile", feature = "Foundation"))]
1625 pub fn GetGattServicesForUuidAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, serviceuuid: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<GenericAttributeProfile::GattDeviceServicesResult>> {
1626 let this = &::windows::runtime::Interface::cast::<IBluetoothLEDevice3>(self)?;
1627 unsafe {
1628 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1629 (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), serviceuuid.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<GenericAttributeProfile::GattDeviceServicesResult>>(result__)
1630 }
1631 }
1632 #[cfg(all(feature = "Devices_Bluetooth_GenericAttributeProfile", feature = "Foundation"))]
1633 pub fn GetGattServicesForUuidWithCacheModeAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(&self, serviceuuid: Param0, cachemode: BluetoothCacheMode) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<GenericAttributeProfile::GattDeviceServicesResult>> {
1634 let this = &::windows::runtime::Interface::cast::<IBluetoothLEDevice3>(self)?;
1635 unsafe {
1636 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1637 (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), serviceuuid.into_param().abi(), cachemode, &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<GenericAttributeProfile::GattDeviceServicesResult>>(result__)
1638 }
1639 }
1640 pub fn BluetoothDeviceId(&self) -> ::windows::runtime::Result<BluetoothDeviceId> {
1641 let this = &::windows::runtime::Interface::cast::<IBluetoothLEDevice4>(self)?;
1642 unsafe {
1643 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1644 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<BluetoothDeviceId>(result__)
1645 }
1646 }
1647 pub fn WasSecureConnectionUsedForPairing(&self) -> ::windows::runtime::Result<bool> {
1648 let this = &::windows::runtime::Interface::cast::<IBluetoothLEDevice5>(self)?;
1649 unsafe {
1650 let mut result__: bool = ::std::mem::zeroed();
1651 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__)
1652 }
1653 }
1654 pub fn GetConnectionParameters(&self) -> ::windows::runtime::Result<BluetoothLEConnectionParameters> {
1655 let this = &::windows::runtime::Interface::cast::<IBluetoothLEDevice6>(self)?;
1656 unsafe {
1657 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1658 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<BluetoothLEConnectionParameters>(result__)
1659 }
1660 }
1661 pub fn GetConnectionPhy(&self) -> ::windows::runtime::Result<BluetoothLEConnectionPhy> {
1662 let this = &::windows::runtime::Interface::cast::<IBluetoothLEDevice6>(self)?;
1663 unsafe {
1664 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1665 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<BluetoothLEConnectionPhy>(result__)
1666 }
1667 }
1668 pub fn RequestPreferredConnectionParameters<'a, Param0: ::windows::runtime::IntoParam<'a, BluetoothLEPreferredConnectionParameters>>(&self, preferredconnectionparameters: Param0) -> ::windows::runtime::Result<BluetoothLEPreferredConnectionParametersRequest> {
1669 let this = &::windows::runtime::Interface::cast::<IBluetoothLEDevice6>(self)?;
1670 unsafe {
1671 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1672 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), preferredconnectionparameters.into_param().abi(), &mut result__).from_abi::<BluetoothLEPreferredConnectionParametersRequest>(result__)
1673 }
1674 }
1675 #[cfg(feature = "Foundation")]
1676 pub fn ConnectionParametersChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<BluetoothLEDevice, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
1677 let this = &::windows::runtime::Interface::cast::<IBluetoothLEDevice6>(self)?;
1678 unsafe {
1679 let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1680 (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
1681 }
1682 }
1683 #[cfg(feature = "Foundation")]
1684 pub fn RemoveConnectionParametersChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
1685 let this = &::windows::runtime::Interface::cast::<IBluetoothLEDevice6>(self)?;
1686 unsafe { (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
1687 }
1688 #[cfg(feature = "Foundation")]
1689 pub fn ConnectionPhyChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<BluetoothLEDevice, ::windows::runtime::IInspectable>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> {
1690 let this = &::windows::runtime::Interface::cast::<IBluetoothLEDevice6>(self)?;
1691 unsafe {
1692 let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed();
1693 (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__)
1694 }
1695 }
1696 #[cfg(feature = "Foundation")]
1697 pub fn RemoveConnectionPhyChanged<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> {
1698 let this = &::windows::runtime::Interface::cast::<IBluetoothLEDevice6>(self)?;
1699 unsafe { (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() }
1700 }
1701 pub fn IBluetoothLEDeviceStatics<R, F: FnOnce(&IBluetoothLEDeviceStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1702 static mut SHARED: ::windows::runtime::FactoryCache<BluetoothLEDevice, IBluetoothLEDeviceStatics> = ::windows::runtime::FactoryCache::new();
1703 unsafe { SHARED.call(callback) }
1704 }
1705 pub fn IBluetoothLEDeviceStatics2<R, F: FnOnce(&IBluetoothLEDeviceStatics2) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1706 static mut SHARED: ::windows::runtime::FactoryCache<BluetoothLEDevice, IBluetoothLEDeviceStatics2> = ::windows::runtime::FactoryCache::new();
1707 unsafe { SHARED.call(callback) }
1708 }
1709 }
1710 unsafe impl ::windows::runtime::RuntimeType for BluetoothLEDevice {
1711 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.Bluetooth.BluetoothLEDevice;{b5ee2f7b-4ad8-4642-ac48-80a0b500e887})");
1712 }
1713 unsafe impl ::windows::runtime::Interface for BluetoothLEDevice {
1714 type Vtable = IBluetoothLEDevice_abi;
1715 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3052285819, 19160, 17986, [172, 72, 128, 160, 181, 0, 232, 135]);
1716 }
1717 impl ::windows::runtime::RuntimeName for BluetoothLEDevice {
1718 const NAME: &'static str = "Windows.Devices.Bluetooth.BluetoothLEDevice";
1719 }
1720 impl ::std::convert::From<BluetoothLEDevice> for ::windows::runtime::IUnknown {
1721 fn from(value: BluetoothLEDevice) -> Self {
1722 unsafe { ::std::mem::transmute(value) }
1723 }
1724 }
1725 impl ::std::convert::From<&BluetoothLEDevice> for ::windows::runtime::IUnknown {
1726 fn from(value: &BluetoothLEDevice) -> Self {
1727 ::std::convert::From::from(::std::clone::Clone::clone(value))
1728 }
1729 }
1730 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for BluetoothLEDevice {
1731 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1732 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1733 }
1734 }
1735 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &BluetoothLEDevice {
1736 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1737 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1738 }
1739 }
1740 impl ::std::convert::From<BluetoothLEDevice> for ::windows::runtime::IInspectable {
1741 fn from(value: BluetoothLEDevice) -> Self {
1742 value.0
1743 }
1744 }
1745 impl ::std::convert::From<&BluetoothLEDevice> for ::windows::runtime::IInspectable {
1746 fn from(value: &BluetoothLEDevice) -> Self {
1747 value.0.clone()
1748 }
1749 }
1750 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for BluetoothLEDevice {
1751 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1752 ::windows::runtime::Param::Owned(self.0)
1753 }
1754 }
1755 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a BluetoothLEDevice {
1756 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1757 ::windows::runtime::Param::Borrowed(&self.0)
1758 }
1759 }
1760 #[cfg(feature = "Foundation")]
1761 impl ::std::convert::TryFrom<BluetoothLEDevice> for super::super::Foundation::IClosable {
1762 type Error = ::windows::runtime::Error;
1763 fn try_from(value: BluetoothLEDevice) -> ::windows::runtime::Result<Self> {
1764 ::std::convert::TryFrom::try_from(&value)
1765 }
1766 }
1767 #[cfg(feature = "Foundation")]
1768 impl ::std::convert::TryFrom<&BluetoothLEDevice> for super::super::Foundation::IClosable {
1769 type Error = ::windows::runtime::Error;
1770 fn try_from(value: &BluetoothLEDevice) -> ::windows::runtime::Result<Self> {
1771 ::windows::runtime::Interface::cast(value)
1772 }
1773 }
1774 #[cfg(feature = "Foundation")]
1775 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for BluetoothLEDevice {
1776 fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
1777 ::windows::runtime::IntoParam::into_param(&self)
1778 }
1779 }
1780 #[cfg(feature = "Foundation")]
1781 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &BluetoothLEDevice {
1782 fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
1783 ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
1784 }
1785 }
1786 unsafe impl ::std::marker::Send for BluetoothLEDevice {}
1787 unsafe impl ::std::marker::Sync for BluetoothLEDevice {}
1788 #[repr(transparent)]
1789 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1790 pub struct BluetoothLEPreferredConnectionParameters(::windows::runtime::IInspectable);
1791 impl BluetoothLEPreferredConnectionParameters {
1792 pub fn LinkTimeout(&self) -> ::windows::runtime::Result<u16> {
1793 let this = self;
1794 unsafe {
1795 let mut result__: u16 = ::std::mem::zeroed();
1796 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1797 }
1798 }
1799 pub fn ConnectionLatency(&self) -> ::windows::runtime::Result<u16> {
1800 let this = self;
1801 unsafe {
1802 let mut result__: u16 = ::std::mem::zeroed();
1803 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1804 }
1805 }
1806 pub fn MinConnectionInterval(&self) -> ::windows::runtime::Result<u16> {
1807 let this = self;
1808 unsafe {
1809 let mut result__: u16 = ::std::mem::zeroed();
1810 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1811 }
1812 }
1813 pub fn MaxConnectionInterval(&self) -> ::windows::runtime::Result<u16> {
1814 let this = self;
1815 unsafe {
1816 let mut result__: u16 = ::std::mem::zeroed();
1817 (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u16>(result__)
1818 }
1819 }
1820 pub fn Balanced() -> ::windows::runtime::Result<BluetoothLEPreferredConnectionParameters> {
1821 Self::IBluetoothLEPreferredConnectionParametersStatics(|this| unsafe {
1822 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1823 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<BluetoothLEPreferredConnectionParameters>(result__)
1824 })
1825 }
1826 pub fn ThroughputOptimized() -> ::windows::runtime::Result<BluetoothLEPreferredConnectionParameters> {
1827 Self::IBluetoothLEPreferredConnectionParametersStatics(|this| unsafe {
1828 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1829 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<BluetoothLEPreferredConnectionParameters>(result__)
1830 })
1831 }
1832 pub fn PowerOptimized() -> ::windows::runtime::Result<BluetoothLEPreferredConnectionParameters> {
1833 Self::IBluetoothLEPreferredConnectionParametersStatics(|this| unsafe {
1834 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
1835 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<BluetoothLEPreferredConnectionParameters>(result__)
1836 })
1837 }
1838 pub fn IBluetoothLEPreferredConnectionParametersStatics<R, F: FnOnce(&IBluetoothLEPreferredConnectionParametersStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
1839 static mut SHARED: ::windows::runtime::FactoryCache<BluetoothLEPreferredConnectionParameters, IBluetoothLEPreferredConnectionParametersStatics> = ::windows::runtime::FactoryCache::new();
1840 unsafe { SHARED.call(callback) }
1841 }
1842 }
1843 unsafe impl ::windows::runtime::RuntimeType for BluetoothLEPreferredConnectionParameters {
1844 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.Bluetooth.BluetoothLEPreferredConnectionParameters;{f2f44344-7372-5f7b-9b34-29c944f5a715})");
1845 }
1846 unsafe impl ::windows::runtime::Interface for BluetoothLEPreferredConnectionParameters {
1847 type Vtable = IBluetoothLEPreferredConnectionParameters_abi;
1848 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4076094276, 29554, 24443, [155, 52, 41, 201, 68, 245, 167, 21]);
1849 }
1850 impl ::windows::runtime::RuntimeName for BluetoothLEPreferredConnectionParameters {
1851 const NAME: &'static str = "Windows.Devices.Bluetooth.BluetoothLEPreferredConnectionParameters";
1852 }
1853 impl ::std::convert::From<BluetoothLEPreferredConnectionParameters> for ::windows::runtime::IUnknown {
1854 fn from(value: BluetoothLEPreferredConnectionParameters) -> Self {
1855 unsafe { ::std::mem::transmute(value) }
1856 }
1857 }
1858 impl ::std::convert::From<&BluetoothLEPreferredConnectionParameters> for ::windows::runtime::IUnknown {
1859 fn from(value: &BluetoothLEPreferredConnectionParameters) -> Self {
1860 ::std::convert::From::from(::std::clone::Clone::clone(value))
1861 }
1862 }
1863 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for BluetoothLEPreferredConnectionParameters {
1864 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1865 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1866 }
1867 }
1868 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &BluetoothLEPreferredConnectionParameters {
1869 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1870 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1871 }
1872 }
1873 impl ::std::convert::From<BluetoothLEPreferredConnectionParameters> for ::windows::runtime::IInspectable {
1874 fn from(value: BluetoothLEPreferredConnectionParameters) -> Self {
1875 value.0
1876 }
1877 }
1878 impl ::std::convert::From<&BluetoothLEPreferredConnectionParameters> for ::windows::runtime::IInspectable {
1879 fn from(value: &BluetoothLEPreferredConnectionParameters) -> Self {
1880 value.0.clone()
1881 }
1882 }
1883 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for BluetoothLEPreferredConnectionParameters {
1884 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1885 ::windows::runtime::Param::Owned(self.0)
1886 }
1887 }
1888 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a BluetoothLEPreferredConnectionParameters {
1889 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1890 ::windows::runtime::Param::Borrowed(&self.0)
1891 }
1892 }
1893 unsafe impl ::std::marker::Send for BluetoothLEPreferredConnectionParameters {}
1894 unsafe impl ::std::marker::Sync for BluetoothLEPreferredConnectionParameters {}
1895 #[repr(transparent)]
1896 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
1897 pub struct BluetoothLEPreferredConnectionParametersRequest(::windows::runtime::IInspectable);
1898 impl BluetoothLEPreferredConnectionParametersRequest {
1899 #[cfg(feature = "Foundation")]
1900 pub fn Close(&self) -> ::windows::runtime::Result<()> {
1901 let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?;
1902 unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() }
1903 }
1904 pub fn Status(&self) -> ::windows::runtime::Result<BluetoothLEPreferredConnectionParametersRequestStatus> {
1905 let this = self;
1906 unsafe {
1907 let mut result__: BluetoothLEPreferredConnectionParametersRequestStatus = ::std::mem::zeroed();
1908 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<BluetoothLEPreferredConnectionParametersRequestStatus>(result__)
1909 }
1910 }
1911 }
1912 unsafe impl ::windows::runtime::RuntimeType for BluetoothLEPreferredConnectionParametersRequest {
1913 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.Bluetooth.BluetoothLEPreferredConnectionParametersRequest;{8a375276-a528-5266-b661-cce6a5ff9739})");
1914 }
1915 unsafe impl ::windows::runtime::Interface for BluetoothLEPreferredConnectionParametersRequest {
1916 type Vtable = IBluetoothLEPreferredConnectionParametersRequest_abi;
1917 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2318881398, 42280, 21094, [182, 97, 204, 230, 165, 255, 151, 57]);
1918 }
1919 impl ::windows::runtime::RuntimeName for BluetoothLEPreferredConnectionParametersRequest {
1920 const NAME: &'static str = "Windows.Devices.Bluetooth.BluetoothLEPreferredConnectionParametersRequest";
1921 }
1922 impl ::std::convert::From<BluetoothLEPreferredConnectionParametersRequest> for ::windows::runtime::IUnknown {
1923 fn from(value: BluetoothLEPreferredConnectionParametersRequest) -> Self {
1924 unsafe { ::std::mem::transmute(value) }
1925 }
1926 }
1927 impl ::std::convert::From<&BluetoothLEPreferredConnectionParametersRequest> for ::windows::runtime::IUnknown {
1928 fn from(value: &BluetoothLEPreferredConnectionParametersRequest) -> Self {
1929 ::std::convert::From::from(::std::clone::Clone::clone(value))
1930 }
1931 }
1932 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for BluetoothLEPreferredConnectionParametersRequest {
1933 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1934 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
1935 }
1936 }
1937 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &BluetoothLEPreferredConnectionParametersRequest {
1938 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
1939 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
1940 }
1941 }
1942 impl ::std::convert::From<BluetoothLEPreferredConnectionParametersRequest> for ::windows::runtime::IInspectable {
1943 fn from(value: BluetoothLEPreferredConnectionParametersRequest) -> Self {
1944 value.0
1945 }
1946 }
1947 impl ::std::convert::From<&BluetoothLEPreferredConnectionParametersRequest> for ::windows::runtime::IInspectable {
1948 fn from(value: &BluetoothLEPreferredConnectionParametersRequest) -> Self {
1949 value.0.clone()
1950 }
1951 }
1952 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for BluetoothLEPreferredConnectionParametersRequest {
1953 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1954 ::windows::runtime::Param::Owned(self.0)
1955 }
1956 }
1957 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a BluetoothLEPreferredConnectionParametersRequest {
1958 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
1959 ::windows::runtime::Param::Borrowed(&self.0)
1960 }
1961 }
1962 #[cfg(feature = "Foundation")]
1963 impl ::std::convert::TryFrom<BluetoothLEPreferredConnectionParametersRequest> for super::super::Foundation::IClosable {
1964 type Error = ::windows::runtime::Error;
1965 fn try_from(value: BluetoothLEPreferredConnectionParametersRequest) -> ::windows::runtime::Result<Self> {
1966 ::std::convert::TryFrom::try_from(&value)
1967 }
1968 }
1969 #[cfg(feature = "Foundation")]
1970 impl ::std::convert::TryFrom<&BluetoothLEPreferredConnectionParametersRequest> for super::super::Foundation::IClosable {
1971 type Error = ::windows::runtime::Error;
1972 fn try_from(value: &BluetoothLEPreferredConnectionParametersRequest) -> ::windows::runtime::Result<Self> {
1973 ::windows::runtime::Interface::cast(value)
1974 }
1975 }
1976 #[cfg(feature = "Foundation")]
1977 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for BluetoothLEPreferredConnectionParametersRequest {
1978 fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
1979 ::windows::runtime::IntoParam::into_param(&self)
1980 }
1981 }
1982 #[cfg(feature = "Foundation")]
1983 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &BluetoothLEPreferredConnectionParametersRequest {
1984 fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> {
1985 ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None)
1986 }
1987 }
1988 unsafe impl ::std::marker::Send for BluetoothLEPreferredConnectionParametersRequest {}
1989 unsafe impl ::std::marker::Sync for BluetoothLEPreferredConnectionParametersRequest {}
1990 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
1991 #[repr(transparent)]
1992 pub struct BluetoothLEPreferredConnectionParametersRequestStatus(pub i32);
1993 impl BluetoothLEPreferredConnectionParametersRequestStatus {
1994 pub const Unspecified: BluetoothLEPreferredConnectionParametersRequestStatus = BluetoothLEPreferredConnectionParametersRequestStatus(0i32);
1995 pub const Success: BluetoothLEPreferredConnectionParametersRequestStatus = BluetoothLEPreferredConnectionParametersRequestStatus(1i32);
1996 pub const DeviceNotAvailable: BluetoothLEPreferredConnectionParametersRequestStatus = BluetoothLEPreferredConnectionParametersRequestStatus(2i32);
1997 pub const AccessDenied: BluetoothLEPreferredConnectionParametersRequestStatus = BluetoothLEPreferredConnectionParametersRequestStatus(3i32);
1998 }
1999 impl ::std::convert::From<i32> for BluetoothLEPreferredConnectionParametersRequestStatus {
2000 fn from(value: i32) -> Self {
2001 Self(value)
2002 }
2003 }
2004 unsafe impl ::windows::runtime::Abi for BluetoothLEPreferredConnectionParametersRequestStatus {
2005 type Abi = Self;
2006 type DefaultType = Self;
2007 }
2008 unsafe impl ::windows::runtime::RuntimeType for BluetoothLEPreferredConnectionParametersRequestStatus {
2009 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Devices.Bluetooth.BluetoothLEPreferredConnectionParametersRequestStatus;i4)");
2010 }
2011 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2012 #[repr(transparent)]
2013 pub struct BluetoothMajorClass(pub i32);
2014 impl BluetoothMajorClass {
2015 pub const Miscellaneous: BluetoothMajorClass = BluetoothMajorClass(0i32);
2016 pub const Computer: BluetoothMajorClass = BluetoothMajorClass(1i32);
2017 pub const Phone: BluetoothMajorClass = BluetoothMajorClass(2i32);
2018 pub const NetworkAccessPoint: BluetoothMajorClass = BluetoothMajorClass(3i32);
2019 pub const AudioVideo: BluetoothMajorClass = BluetoothMajorClass(4i32);
2020 pub const Peripheral: BluetoothMajorClass = BluetoothMajorClass(5i32);
2021 pub const Imaging: BluetoothMajorClass = BluetoothMajorClass(6i32);
2022 pub const Wearable: BluetoothMajorClass = BluetoothMajorClass(7i32);
2023 pub const Toy: BluetoothMajorClass = BluetoothMajorClass(8i32);
2024 pub const Health: BluetoothMajorClass = BluetoothMajorClass(9i32);
2025 }
2026 impl ::std::convert::From<i32> for BluetoothMajorClass {
2027 fn from(value: i32) -> Self {
2028 Self(value)
2029 }
2030 }
2031 unsafe impl ::windows::runtime::Abi for BluetoothMajorClass {
2032 type Abi = Self;
2033 type DefaultType = Self;
2034 }
2035 unsafe impl ::windows::runtime::RuntimeType for BluetoothMajorClass {
2036 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Devices.Bluetooth.BluetoothMajorClass;i4)");
2037 }
2038 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2039 #[repr(transparent)]
2040 pub struct BluetoothMinorClass(pub i32);
2041 impl BluetoothMinorClass {
2042 pub const Uncategorized: BluetoothMinorClass = BluetoothMinorClass(0i32);
2043 pub const ComputerDesktop: BluetoothMinorClass = BluetoothMinorClass(1i32);
2044 pub const ComputerServer: BluetoothMinorClass = BluetoothMinorClass(2i32);
2045 pub const ComputerLaptop: BluetoothMinorClass = BluetoothMinorClass(3i32);
2046 pub const ComputerHandheld: BluetoothMinorClass = BluetoothMinorClass(4i32);
2047 pub const ComputerPalmSize: BluetoothMinorClass = BluetoothMinorClass(5i32);
2048 pub const ComputerWearable: BluetoothMinorClass = BluetoothMinorClass(6i32);
2049 pub const ComputerTablet: BluetoothMinorClass = BluetoothMinorClass(7i32);
2050 pub const PhoneCellular: BluetoothMinorClass = BluetoothMinorClass(1i32);
2051 pub const PhoneCordless: BluetoothMinorClass = BluetoothMinorClass(2i32);
2052 pub const PhoneSmartPhone: BluetoothMinorClass = BluetoothMinorClass(3i32);
2053 pub const PhoneWired: BluetoothMinorClass = BluetoothMinorClass(4i32);
2054 pub const PhoneIsdn: BluetoothMinorClass = BluetoothMinorClass(5i32);
2055 pub const NetworkFullyAvailable: BluetoothMinorClass = BluetoothMinorClass(0i32);
2056 pub const NetworkUsed01To17Percent: BluetoothMinorClass = BluetoothMinorClass(8i32);
2057 pub const NetworkUsed17To33Percent: BluetoothMinorClass = BluetoothMinorClass(16i32);
2058 pub const NetworkUsed33To50Percent: BluetoothMinorClass = BluetoothMinorClass(24i32);
2059 pub const NetworkUsed50To67Percent: BluetoothMinorClass = BluetoothMinorClass(32i32);
2060 pub const NetworkUsed67To83Percent: BluetoothMinorClass = BluetoothMinorClass(40i32);
2061 pub const NetworkUsed83To99Percent: BluetoothMinorClass = BluetoothMinorClass(48i32);
2062 pub const NetworkNoServiceAvailable: BluetoothMinorClass = BluetoothMinorClass(56i32);
2063 pub const AudioVideoWearableHeadset: BluetoothMinorClass = BluetoothMinorClass(1i32);
2064 pub const AudioVideoHandsFree: BluetoothMinorClass = BluetoothMinorClass(2i32);
2065 pub const AudioVideoMicrophone: BluetoothMinorClass = BluetoothMinorClass(4i32);
2066 pub const AudioVideoLoudspeaker: BluetoothMinorClass = BluetoothMinorClass(5i32);
2067 pub const AudioVideoHeadphones: BluetoothMinorClass = BluetoothMinorClass(6i32);
2068 pub const AudioVideoPortableAudio: BluetoothMinorClass = BluetoothMinorClass(7i32);
2069 pub const AudioVideoCarAudio: BluetoothMinorClass = BluetoothMinorClass(8i32);
2070 pub const AudioVideoSetTopBox: BluetoothMinorClass = BluetoothMinorClass(9i32);
2071 pub const AudioVideoHifiAudioDevice: BluetoothMinorClass = BluetoothMinorClass(10i32);
2072 pub const AudioVideoVcr: BluetoothMinorClass = BluetoothMinorClass(11i32);
2073 pub const AudioVideoVideoCamera: BluetoothMinorClass = BluetoothMinorClass(12i32);
2074 pub const AudioVideoCamcorder: BluetoothMinorClass = BluetoothMinorClass(13i32);
2075 pub const AudioVideoVideoMonitor: BluetoothMinorClass = BluetoothMinorClass(14i32);
2076 pub const AudioVideoVideoDisplayAndLoudspeaker: BluetoothMinorClass = BluetoothMinorClass(15i32);
2077 pub const AudioVideoVideoConferencing: BluetoothMinorClass = BluetoothMinorClass(16i32);
2078 pub const AudioVideoGamingOrToy: BluetoothMinorClass = BluetoothMinorClass(18i32);
2079 pub const PeripheralJoystick: BluetoothMinorClass = BluetoothMinorClass(1i32);
2080 pub const PeripheralGamepad: BluetoothMinorClass = BluetoothMinorClass(2i32);
2081 pub const PeripheralRemoteControl: BluetoothMinorClass = BluetoothMinorClass(3i32);
2082 pub const PeripheralSensing: BluetoothMinorClass = BluetoothMinorClass(4i32);
2083 pub const PeripheralDigitizerTablet: BluetoothMinorClass = BluetoothMinorClass(5i32);
2084 pub const PeripheralCardReader: BluetoothMinorClass = BluetoothMinorClass(6i32);
2085 pub const PeripheralDigitalPen: BluetoothMinorClass = BluetoothMinorClass(7i32);
2086 pub const PeripheralHandheldScanner: BluetoothMinorClass = BluetoothMinorClass(8i32);
2087 pub const PeripheralHandheldGesture: BluetoothMinorClass = BluetoothMinorClass(9i32);
2088 pub const WearableWristwatch: BluetoothMinorClass = BluetoothMinorClass(1i32);
2089 pub const WearablePager: BluetoothMinorClass = BluetoothMinorClass(2i32);
2090 pub const WearableJacket: BluetoothMinorClass = BluetoothMinorClass(3i32);
2091 pub const WearableHelmet: BluetoothMinorClass = BluetoothMinorClass(4i32);
2092 pub const WearableGlasses: BluetoothMinorClass = BluetoothMinorClass(5i32);
2093 pub const ToyRobot: BluetoothMinorClass = BluetoothMinorClass(1i32);
2094 pub const ToyVehicle: BluetoothMinorClass = BluetoothMinorClass(2i32);
2095 pub const ToyDoll: BluetoothMinorClass = BluetoothMinorClass(3i32);
2096 pub const ToyController: BluetoothMinorClass = BluetoothMinorClass(4i32);
2097 pub const ToyGame: BluetoothMinorClass = BluetoothMinorClass(5i32);
2098 pub const HealthBloodPressureMonitor: BluetoothMinorClass = BluetoothMinorClass(1i32);
2099 pub const HealthThermometer: BluetoothMinorClass = BluetoothMinorClass(2i32);
2100 pub const HealthWeighingScale: BluetoothMinorClass = BluetoothMinorClass(3i32);
2101 pub const HealthGlucoseMeter: BluetoothMinorClass = BluetoothMinorClass(4i32);
2102 pub const HealthPulseOximeter: BluetoothMinorClass = BluetoothMinorClass(5i32);
2103 pub const HealthHeartRateMonitor: BluetoothMinorClass = BluetoothMinorClass(6i32);
2104 pub const HealthHealthDataDisplay: BluetoothMinorClass = BluetoothMinorClass(7i32);
2105 pub const HealthStepCounter: BluetoothMinorClass = BluetoothMinorClass(8i32);
2106 pub const HealthBodyCompositionAnalyzer: BluetoothMinorClass = BluetoothMinorClass(9i32);
2107 pub const HealthPeakFlowMonitor: BluetoothMinorClass = BluetoothMinorClass(10i32);
2108 pub const HealthMedicationMonitor: BluetoothMinorClass = BluetoothMinorClass(11i32);
2109 pub const HealthKneeProsthesis: BluetoothMinorClass = BluetoothMinorClass(12i32);
2110 pub const HealthAnkleProsthesis: BluetoothMinorClass = BluetoothMinorClass(13i32);
2111 pub const HealthGenericHealthManager: BluetoothMinorClass = BluetoothMinorClass(14i32);
2112 pub const HealthPersonalMobilityDevice: BluetoothMinorClass = BluetoothMinorClass(15i32);
2113 }
2114 impl ::std::convert::From<i32> for BluetoothMinorClass {
2115 fn from(value: i32) -> Self {
2116 Self(value)
2117 }
2118 }
2119 unsafe impl ::windows::runtime::Abi for BluetoothMinorClass {
2120 type Abi = Self;
2121 type DefaultType = Self;
2122 }
2123 unsafe impl ::windows::runtime::RuntimeType for BluetoothMinorClass {
2124 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Devices.Bluetooth.BluetoothMinorClass;i4)");
2125 }
2126 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)]
2127 #[repr(transparent)]
2128 pub struct BluetoothServiceCapabilities(pub u32);
2129 impl BluetoothServiceCapabilities {
2130 pub const None: BluetoothServiceCapabilities = BluetoothServiceCapabilities(0u32);
2131 pub const LimitedDiscoverableMode: BluetoothServiceCapabilities = BluetoothServiceCapabilities(1u32);
2132 pub const PositioningService: BluetoothServiceCapabilities = BluetoothServiceCapabilities(8u32);
2133 pub const NetworkingService: BluetoothServiceCapabilities = BluetoothServiceCapabilities(16u32);
2134 pub const RenderingService: BluetoothServiceCapabilities = BluetoothServiceCapabilities(32u32);
2135 pub const CapturingService: BluetoothServiceCapabilities = BluetoothServiceCapabilities(64u32);
2136 pub const ObjectTransferService: BluetoothServiceCapabilities = BluetoothServiceCapabilities(128u32);
2137 pub const AudioService: BluetoothServiceCapabilities = BluetoothServiceCapabilities(256u32);
2138 pub const TelephoneService: BluetoothServiceCapabilities = BluetoothServiceCapabilities(512u32);
2139 pub const InformationService: BluetoothServiceCapabilities = BluetoothServiceCapabilities(1024u32);
2140 }
2141 impl ::std::convert::From<u32> for BluetoothServiceCapabilities {
2142 fn from(value: u32) -> Self {
2143 Self(value)
2144 }
2145 }
2146 unsafe impl ::windows::runtime::Abi for BluetoothServiceCapabilities {
2147 type Abi = Self;
2148 type DefaultType = Self;
2149 }
2150 unsafe impl ::windows::runtime::RuntimeType for BluetoothServiceCapabilities {
2151 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Devices.Bluetooth.BluetoothServiceCapabilities;u4)");
2152 }
2153 impl ::std::ops::BitOr for BluetoothServiceCapabilities {
2154 type Output = Self;
2155 fn bitor(self, rhs: Self) -> Self {
2156 Self(self.0 | rhs.0)
2157 }
2158 }
2159 impl ::std::ops::BitAnd for BluetoothServiceCapabilities {
2160 type Output = Self;
2161 fn bitand(self, rhs: Self) -> Self {
2162 Self(self.0 & rhs.0)
2163 }
2164 }
2165 impl ::std::ops::BitOrAssign for BluetoothServiceCapabilities {
2166 fn bitor_assign(&mut self, rhs: Self) {
2167 self.0.bitor_assign(rhs.0)
2168 }
2169 }
2170 impl ::std::ops::BitAndAssign for BluetoothServiceCapabilities {
2171 fn bitand_assign(&mut self, rhs: Self) {
2172 self.0.bitand_assign(rhs.0)
2173 }
2174 }
2175 impl ::std::ops::Not for BluetoothServiceCapabilities {
2176 type Output = Self;
2177 fn not(self) -> Self {
2178 Self(self.0.not())
2179 }
2180 }
2181 #[repr(transparent)]
2182 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2183 pub struct BluetoothSignalStrengthFilter(::windows::runtime::IInspectable);
2184 impl BluetoothSignalStrengthFilter {
2185 pub fn new() -> ::windows::runtime::Result<Self> {
2186 Self::IActivationFactory(|f| f.activate_instance::<Self>())
2187 }
2188 fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2189 static mut SHARED: ::windows::runtime::FactoryCache<BluetoothSignalStrengthFilter, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new();
2190 unsafe { SHARED.call(callback) }
2191 }
2192 #[cfg(feature = "Foundation")]
2193 pub fn InRangeThresholdInDBm(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i16>> {
2194 let this = self;
2195 unsafe {
2196 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2197 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<i16>>(result__)
2198 }
2199 }
2200 #[cfg(feature = "Foundation")]
2201 pub fn SetInRangeThresholdInDBm<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<i16>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2202 let this = self;
2203 unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2204 }
2205 #[cfg(feature = "Foundation")]
2206 pub fn OutOfRangeThresholdInDBm(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<i16>> {
2207 let this = self;
2208 unsafe {
2209 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2210 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<i16>>(result__)
2211 }
2212 }
2213 #[cfg(feature = "Foundation")]
2214 pub fn SetOutOfRangeThresholdInDBm<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<i16>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2215 let this = self;
2216 unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2217 }
2218 #[cfg(feature = "Foundation")]
2219 pub fn OutOfRangeTimeout(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::TimeSpan>> {
2220 let this = self;
2221 unsafe {
2222 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2223 (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<super::super::Foundation::TimeSpan>>(result__)
2224 }
2225 }
2226 #[cfg(feature = "Foundation")]
2227 pub fn SetOutOfRangeTimeout<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<super::super::Foundation::TimeSpan>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2228 let this = self;
2229 unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2230 }
2231 #[cfg(feature = "Foundation")]
2232 pub fn SamplingInterval(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<super::super::Foundation::TimeSpan>> {
2233 let this = self;
2234 unsafe {
2235 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2236 (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<super::super::Foundation::TimeSpan>>(result__)
2237 }
2238 }
2239 #[cfg(feature = "Foundation")]
2240 pub fn SetSamplingInterval<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<super::super::Foundation::TimeSpan>>>(&self, value: Param0) -> ::windows::runtime::Result<()> {
2241 let this = self;
2242 unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }
2243 }
2244 }
2245 unsafe impl ::windows::runtime::RuntimeType for BluetoothSignalStrengthFilter {
2246 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.Bluetooth.BluetoothSignalStrengthFilter;{df7b7391-6bb5-4cfe-90b1-5d7324edcf7f})");
2247 }
2248 unsafe impl ::windows::runtime::Interface for BluetoothSignalStrengthFilter {
2249 type Vtable = IBluetoothSignalStrengthFilter_abi;
2250 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3749409681, 27573, 19710, [144, 177, 93, 115, 36, 237, 207, 127]);
2251 }
2252 impl ::windows::runtime::RuntimeName for BluetoothSignalStrengthFilter {
2253 const NAME: &'static str = "Windows.Devices.Bluetooth.BluetoothSignalStrengthFilter";
2254 }
2255 impl ::std::convert::From<BluetoothSignalStrengthFilter> for ::windows::runtime::IUnknown {
2256 fn from(value: BluetoothSignalStrengthFilter) -> Self {
2257 unsafe { ::std::mem::transmute(value) }
2258 }
2259 }
2260 impl ::std::convert::From<&BluetoothSignalStrengthFilter> for ::windows::runtime::IUnknown {
2261 fn from(value: &BluetoothSignalStrengthFilter) -> Self {
2262 ::std::convert::From::from(::std::clone::Clone::clone(value))
2263 }
2264 }
2265 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for BluetoothSignalStrengthFilter {
2266 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2267 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self))
2268 }
2269 }
2270 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &BluetoothSignalStrengthFilter {
2271 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> {
2272 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self)))
2273 }
2274 }
2275 impl ::std::convert::From<BluetoothSignalStrengthFilter> for ::windows::runtime::IInspectable {
2276 fn from(value: BluetoothSignalStrengthFilter) -> Self {
2277 value.0
2278 }
2279 }
2280 impl ::std::convert::From<&BluetoothSignalStrengthFilter> for ::windows::runtime::IInspectable {
2281 fn from(value: &BluetoothSignalStrengthFilter) -> Self {
2282 value.0.clone()
2283 }
2284 }
2285 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for BluetoothSignalStrengthFilter {
2286 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2287 ::windows::runtime::Param::Owned(self.0)
2288 }
2289 }
2290 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a BluetoothSignalStrengthFilter {
2291 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> {
2292 ::windows::runtime::Param::Borrowed(&self.0)
2293 }
2294 }
2295 unsafe impl ::std::marker::Send for BluetoothSignalStrengthFilter {}
2296 unsafe impl ::std::marker::Sync for BluetoothSignalStrengthFilter {}
2297 pub struct BluetoothUuidHelper {}
2298 impl BluetoothUuidHelper {
2299 pub fn FromShortId(shortid: u32) -> ::windows::runtime::Result<::windows::runtime::GUID> {
2300 Self::IBluetoothUuidHelperStatics(|this| unsafe {
2301 let mut result__: ::windows::runtime::GUID = ::std::mem::zeroed();
2302 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), shortid, &mut result__).from_abi::<::windows::runtime::GUID>(result__)
2303 })
2304 }
2305 #[cfg(feature = "Foundation")]
2306 pub fn TryGetShortId<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(uuid: Param0) -> ::windows::runtime::Result<super::super::Foundation::IReference<u32>> {
2307 Self::IBluetoothUuidHelperStatics(|this| unsafe {
2308 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed();
2309 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), uuid.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IReference<u32>>(result__)
2310 })
2311 }
2312 pub fn IBluetoothUuidHelperStatics<R, F: FnOnce(&IBluetoothUuidHelperStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> {
2313 static mut SHARED: ::windows::runtime::FactoryCache<BluetoothUuidHelper, IBluetoothUuidHelperStatics> = ::windows::runtime::FactoryCache::new();
2314 unsafe { SHARED.call(callback) }
2315 }
2316 }
2317 impl ::windows::runtime::RuntimeName for BluetoothUuidHelper {
2318 const NAME: &'static str = "Windows.Devices.Bluetooth.BluetoothUuidHelper";
2319 }
2320 #[repr(transparent)]
2321 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2322 #[doc(hidden)]
2323 pub struct IBluetoothAdapter(::windows::runtime::IInspectable);
2324 unsafe impl ::windows::runtime::Interface for IBluetoothAdapter {
2325 type Vtable = IBluetoothAdapter_abi;
2326 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2037706828, 24442, 18996, [146, 37, 168, 85, 248, 75, 26, 139]);
2327 }
2328 #[repr(C)]
2329 #[doc(hidden)]
2330 pub struct IBluetoothAdapter_abi(
2331 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2332 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2333 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2334 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2335 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2336 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2337 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2338 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u64) -> ::windows::runtime::HRESULT,
2339 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2340 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2341 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2342 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2343 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2344 #[cfg(all(feature = "Devices_Radios", feature = "Foundation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2345 #[cfg(not(all(feature = "Devices_Radios", feature = "Foundation")))] usize,
2346 );
2347 #[repr(transparent)]
2348 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2349 #[doc(hidden)]
2350 pub struct IBluetoothAdapter2(::windows::runtime::IInspectable);
2351 unsafe impl ::windows::runtime::Interface for IBluetoothAdapter2 {
2352 type Vtable = IBluetoothAdapter2_abi;
2353 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2895433420, 9429, 16819, [145, 109, 16, 151, 197, 11, 16, 43]);
2354 }
2355 #[repr(C)]
2356 #[doc(hidden)]
2357 pub struct IBluetoothAdapter2_abi(
2358 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2359 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2360 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2361 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2362 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2363 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2364 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2365 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2366 );
2367 #[repr(transparent)]
2368 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2369 #[doc(hidden)]
2370 pub struct IBluetoothAdapter3(::windows::runtime::IInspectable);
2371 unsafe impl ::windows::runtime::Interface for IBluetoothAdapter3 {
2372 type Vtable = IBluetoothAdapter3_abi;
2373 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2407933152, 52137, 21009, [159, 137, 58, 172, 98, 180, 198, 184]);
2374 }
2375 #[repr(C)]
2376 #[doc(hidden)]
2377 pub struct IBluetoothAdapter3_abi(
2378 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2379 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2380 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2381 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2382 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2383 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2384 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2385 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
2386 );
2387 #[repr(transparent)]
2388 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2389 #[doc(hidden)]
2390 pub struct IBluetoothAdapterStatics(::windows::runtime::IInspectable);
2391 unsafe impl ::windows::runtime::Interface for IBluetoothAdapterStatics {
2392 type Vtable = IBluetoothAdapterStatics_abi;
2393 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2332228458, 44108, 18241, [134, 97, 142, 171, 125, 23, 234, 159]);
2394 }
2395 #[repr(C)]
2396 #[doc(hidden)]
2397 pub struct IBluetoothAdapterStatics_abi(
2398 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2399 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2400 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2401 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2402 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2403 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2404 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2405 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, deviceid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2406 #[cfg(not(feature = "Foundation"))] usize,
2407 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2408 #[cfg(not(feature = "Foundation"))] usize,
2409 );
2410 #[repr(transparent)]
2411 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2412 #[doc(hidden)]
2413 pub struct IBluetoothClassOfDevice(::windows::runtime::IInspectable);
2414 unsafe impl ::windows::runtime::Interface for IBluetoothClassOfDevice {
2415 type Vtable = IBluetoothClassOfDevice_abi;
2416 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3594527358, 55255, 18017, [148, 84, 101, 3, 156, 161, 122, 43]);
2417 }
2418 #[repr(C)]
2419 #[doc(hidden)]
2420 pub struct IBluetoothClassOfDevice_abi(
2421 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2422 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2423 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2424 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2425 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2426 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2427 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT,
2428 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut BluetoothMajorClass) -> ::windows::runtime::HRESULT,
2429 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut BluetoothMinorClass) -> ::windows::runtime::HRESULT,
2430 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut BluetoothServiceCapabilities) -> ::windows::runtime::HRESULT,
2431 );
2432 #[repr(transparent)]
2433 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2434 #[doc(hidden)]
2435 pub struct IBluetoothClassOfDeviceStatics(::windows::runtime::IInspectable);
2436 unsafe impl ::windows::runtime::Interface for IBluetoothClassOfDeviceStatics {
2437 type Vtable = IBluetoothClassOfDeviceStatics_abi;
2438 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3831575997, 4002, 16748, [145, 180, 193, 228, 140, 160, 97, 193]);
2439 }
2440 #[repr(C)]
2441 #[doc(hidden)]
2442 pub struct IBluetoothClassOfDeviceStatics_abi(
2443 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2444 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2445 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2446 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2447 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2448 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2449 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rawvalue: u32, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2450 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, majorclass: BluetoothMajorClass, minorclass: BluetoothMinorClass, servicecapabilities: BluetoothServiceCapabilities, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2451 );
2452 #[repr(transparent)]
2453 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2454 #[doc(hidden)]
2455 pub struct IBluetoothDevice(::windows::runtime::IInspectable);
2456 unsafe impl ::windows::runtime::Interface for IBluetoothDevice {
2457 type Vtable = IBluetoothDevice_abi;
2458 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(590721366, 37074, 18948, [174, 245, 14, 32, 185, 230, 183, 7]);
2459 }
2460 #[repr(C)]
2461 #[doc(hidden)]
2462 pub struct IBluetoothDevice_abi(
2463 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2464 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2465 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2466 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2467 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2468 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2469 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2470 #[cfg(feature = "Networking")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2471 #[cfg(not(feature = "Networking"))] usize,
2472 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2473 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2474 #[cfg(all(feature = "Foundation_Collections", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2475 #[cfg(not(all(feature = "Foundation_Collections", feature = "Storage_Streams")))] usize,
2476 #[cfg(all(feature = "Devices_Bluetooth_Rfcomm", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2477 #[cfg(not(all(feature = "Devices_Bluetooth_Rfcomm", feature = "Foundation_Collections")))] usize,
2478 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut BluetoothConnectionStatus) -> ::windows::runtime::HRESULT,
2479 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u64) -> ::windows::runtime::HRESULT,
2480 #[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,
2481 #[cfg(not(feature = "Foundation"))] usize,
2482 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2483 #[cfg(not(feature = "Foundation"))] usize,
2484 #[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,
2485 #[cfg(not(feature = "Foundation"))] usize,
2486 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2487 #[cfg(not(feature = "Foundation"))] usize,
2488 #[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,
2489 #[cfg(not(feature = "Foundation"))] usize,
2490 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2491 #[cfg(not(feature = "Foundation"))] usize,
2492 );
2493 #[repr(transparent)]
2494 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2495 #[doc(hidden)]
2496 pub struct IBluetoothDevice2(::windows::runtime::IInspectable);
2497 unsafe impl ::windows::runtime::Interface for IBluetoothDevice2 {
2498 type Vtable = IBluetoothDevice2_abi;
2499 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(20183380, 45398, 19920, [177, 245, 193, 27, 195, 26, 81, 99]);
2500 }
2501 #[repr(C)]
2502 #[doc(hidden)]
2503 pub struct IBluetoothDevice2_abi(
2504 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2505 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2506 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2507 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2508 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2509 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2510 #[cfg(feature = "Devices_Enumeration")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2511 #[cfg(not(feature = "Devices_Enumeration"))] usize,
2512 );
2513 #[repr(transparent)]
2514 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2515 #[doc(hidden)]
2516 pub struct IBluetoothDevice3(::windows::runtime::IInspectable);
2517 unsafe impl ::windows::runtime::Interface for IBluetoothDevice3 {
2518 type Vtable = IBluetoothDevice3_abi;
2519 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1476392843, 25882, 17492, [185, 15, 235, 33, 239, 11, 13, 113]);
2520 }
2521 #[repr(C)]
2522 #[doc(hidden)]
2523 pub struct IBluetoothDevice3_abi(
2524 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2525 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2526 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2527 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2528 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2529 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2530 #[cfg(feature = "Devices_Enumeration")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2531 #[cfg(not(feature = "Devices_Enumeration"))] usize,
2532 #[cfg(all(feature = "Devices_Enumeration", feature = "Foundation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2533 #[cfg(not(all(feature = "Devices_Enumeration", feature = "Foundation")))] usize,
2534 #[cfg(all(feature = "Devices_Bluetooth_Rfcomm", feature = "Foundation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2535 #[cfg(not(all(feature = "Devices_Bluetooth_Rfcomm", feature = "Foundation")))] usize,
2536 #[cfg(all(feature = "Devices_Bluetooth_Rfcomm", feature = "Foundation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cachemode: BluetoothCacheMode, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2537 #[cfg(not(all(feature = "Devices_Bluetooth_Rfcomm", feature = "Foundation")))] usize,
2538 #[cfg(all(feature = "Devices_Bluetooth_Rfcomm", feature = "Foundation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, serviceid: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2539 #[cfg(not(all(feature = "Devices_Bluetooth_Rfcomm", feature = "Foundation")))] usize,
2540 #[cfg(all(feature = "Devices_Bluetooth_Rfcomm", feature = "Foundation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, serviceid: ::windows::runtime::RawPtr, cachemode: BluetoothCacheMode, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2541 #[cfg(not(all(feature = "Devices_Bluetooth_Rfcomm", feature = "Foundation")))] usize,
2542 );
2543 #[repr(transparent)]
2544 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2545 #[doc(hidden)]
2546 pub struct IBluetoothDevice4(::windows::runtime::IInspectable);
2547 unsafe impl ::windows::runtime::Interface for IBluetoothDevice4 {
2548 type Vtable = IBluetoothDevice4_abi;
2549 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2172400813, 3740, 17074, [168, 220, 62, 128, 148, 148, 13, 18]);
2550 }
2551 #[repr(C)]
2552 #[doc(hidden)]
2553 pub struct IBluetoothDevice4_abi(
2554 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2555 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2556 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2557 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2558 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2559 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2560 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2561 );
2562 #[repr(transparent)]
2563 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2564 #[doc(hidden)]
2565 pub struct IBluetoothDevice5(::windows::runtime::IInspectable);
2566 unsafe impl ::windows::runtime::Interface for IBluetoothDevice5 {
2567 type Vtable = IBluetoothDevice5_abi;
2568 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3051402117, 24197, 17753, [161, 13, 28, 114, 129, 55, 159, 150]);
2569 }
2570 #[repr(C)]
2571 #[doc(hidden)]
2572 pub struct IBluetoothDevice5_abi(
2573 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2574 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2575 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2576 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2577 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2578 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2579 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2580 );
2581 #[repr(transparent)]
2582 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2583 #[doc(hidden)]
2584 pub struct IBluetoothDeviceId(::windows::runtime::IInspectable);
2585 unsafe impl ::windows::runtime::Interface for IBluetoothDeviceId {
2586 type Vtable = IBluetoothDeviceId_abi;
2587 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3245951407, 22465, 17986, [188, 206, 230, 192, 107, 32, 174, 118]);
2588 }
2589 #[repr(C)]
2590 #[doc(hidden)]
2591 pub struct IBluetoothDeviceId_abi(
2592 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2593 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2594 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2595 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2596 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2597 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2598 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2599 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2600 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2601 );
2602 #[repr(transparent)]
2603 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2604 #[doc(hidden)]
2605 pub struct IBluetoothDeviceIdStatics(::windows::runtime::IInspectable);
2606 unsafe impl ::windows::runtime::Interface for IBluetoothDeviceIdStatics {
2607 type Vtable = IBluetoothDeviceIdStatics_abi;
2608 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2810728039, 16123, 20273, [187, 194, 129, 14, 9, 151, 116, 4]);
2609 }
2610 #[repr(C)]
2611 #[doc(hidden)]
2612 pub struct IBluetoothDeviceIdStatics_abi(
2613 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2614 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2615 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2616 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2617 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2618 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2619 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, deviceid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2620 );
2621 #[repr(transparent)]
2622 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2623 #[doc(hidden)]
2624 pub struct IBluetoothDeviceStatics(::windows::runtime::IInspectable);
2625 unsafe impl ::windows::runtime::Interface for IBluetoothDeviceStatics {
2626 type Vtable = IBluetoothDeviceStatics_abi;
2627 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(160554833, 22491, 18213, [187, 215, 132, 246, 67, 39, 236, 44]);
2628 }
2629 #[repr(C)]
2630 #[doc(hidden)]
2631 pub struct IBluetoothDeviceStatics_abi(
2632 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2633 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2634 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2635 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2636 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2637 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2638 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, deviceid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2639 #[cfg(not(feature = "Foundation"))] usize,
2640 #[cfg(all(feature = "Foundation", feature = "Networking"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, hostname: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2641 #[cfg(not(all(feature = "Foundation", feature = "Networking")))] usize,
2642 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, address: u64, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2643 #[cfg(not(feature = "Foundation"))] usize,
2644 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2645 );
2646 #[repr(transparent)]
2647 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2648 #[doc(hidden)]
2649 pub struct IBluetoothDeviceStatics2(::windows::runtime::IInspectable);
2650 unsafe impl ::windows::runtime::Interface for IBluetoothDeviceStatics2 {
2651 type Vtable = IBluetoothDeviceStatics2_abi;
2652 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3265170991, 19988, 17527, [170, 27, 184, 180, 126, 91, 126, 206]);
2653 }
2654 #[repr(C)]
2655 #[doc(hidden)]
2656 pub struct IBluetoothDeviceStatics2_abi(
2657 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2658 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2659 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2660 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2661 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2662 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2663 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pairingstate: bool, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2664 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, connectionstatus: BluetoothConnectionStatus, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2665 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, devicename: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2666 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bluetoothaddress: u64, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2667 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, classofdevice: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2668 );
2669 #[repr(transparent)]
2670 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2671 #[doc(hidden)]
2672 pub struct IBluetoothLEAppearance(::windows::runtime::IInspectable);
2673 unsafe impl ::windows::runtime::Interface for IBluetoothLEAppearance {
2674 type Vtable = IBluetoothLEAppearance_abi;
2675 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1562409458, 26280, 16984, [152, 94, 2, 180, 217, 80, 159, 24]);
2676 }
2677 #[repr(C)]
2678 #[doc(hidden)]
2679 pub struct IBluetoothLEAppearance_abi(
2680 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2681 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2682 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2683 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2684 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2685 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2686 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2687 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2688 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2689 );
2690 #[repr(transparent)]
2691 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2692 #[doc(hidden)]
2693 pub struct IBluetoothLEAppearanceCategoriesStatics(::windows::runtime::IInspectable);
2694 unsafe impl ::windows::runtime::Interface for IBluetoothLEAppearanceCategoriesStatics {
2695 type Vtable = IBluetoothLEAppearanceCategoriesStatics_abi;
2696 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1833784574, 1130, 16773, [170, 182, 130, 76, 240, 97, 8, 97]);
2697 }
2698 #[repr(C)]
2699 #[doc(hidden)]
2700 pub struct IBluetoothLEAppearanceCategoriesStatics_abi(
2701 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2702 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2703 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2704 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2705 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2706 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2707 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2708 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2709 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2710 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2711 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2712 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2713 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2714 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2715 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2716 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2717 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2718 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2719 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2720 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2721 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2722 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2723 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2724 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2725 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2726 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2727 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2728 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2729 );
2730 #[repr(transparent)]
2731 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2732 #[doc(hidden)]
2733 pub struct IBluetoothLEAppearanceStatics(::windows::runtime::IInspectable);
2734 unsafe impl ::windows::runtime::Interface for IBluetoothLEAppearanceStatics {
2735 type Vtable = IBluetoothLEAppearanceStatics_abi;
2736 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2710814919, 17668, 20298, [155, 165, 205, 16, 84, 229, 224, 101]);
2737 }
2738 #[repr(C)]
2739 #[doc(hidden)]
2740 pub struct IBluetoothLEAppearanceStatics_abi(
2741 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2742 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2743 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2744 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2745 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2746 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2747 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, rawvalue: u16, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2748 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, appearancecategory: u16, appearancesubcategory: u16, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2749 );
2750 #[repr(transparent)]
2751 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2752 #[doc(hidden)]
2753 pub struct IBluetoothLEAppearanceSubcategoriesStatics(::windows::runtime::IInspectable);
2754 unsafe impl ::windows::runtime::Interface for IBluetoothLEAppearanceSubcategoriesStatics {
2755 type Vtable = IBluetoothLEAppearanceSubcategoriesStatics_abi;
2756 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3850085894, 8516, 16730, [131, 18, 113, 204, 242, 145, 248, 209]);
2757 }
2758 #[repr(C)]
2759 #[doc(hidden)]
2760 pub struct IBluetoothLEAppearanceSubcategoriesStatics_abi(
2761 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2762 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2763 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2764 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2765 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2766 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2767 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2768 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2769 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2770 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2771 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2772 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2773 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2774 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2775 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2776 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2777 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2778 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2779 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2780 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2781 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2782 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2783 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2784 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2785 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2786 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2787 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2788 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2789 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2790 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2791 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2792 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2793 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2794 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2795 );
2796 #[repr(transparent)]
2797 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2798 #[doc(hidden)]
2799 pub struct IBluetoothLEConnectionParameters(::windows::runtime::IInspectable);
2800 unsafe impl ::windows::runtime::Interface for IBluetoothLEConnectionParameters {
2801 type Vtable = IBluetoothLEConnectionParameters_abi;
2802 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(868943729, 36265, 20623, [163, 102, 28, 163, 136, 201, 41, 171]);
2803 }
2804 #[repr(C)]
2805 #[doc(hidden)]
2806 pub struct IBluetoothLEConnectionParameters_abi(
2807 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2808 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2809 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2810 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2811 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2812 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2813 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2814 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2815 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
2816 );
2817 #[repr(transparent)]
2818 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2819 #[doc(hidden)]
2820 pub struct IBluetoothLEConnectionPhy(::windows::runtime::IInspectable);
2821 unsafe impl ::windows::runtime::Interface for IBluetoothLEConnectionPhy {
2822 type Vtable = IBluetoothLEConnectionPhy_abi;
2823 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2015256136, 25118, 23166, [139, 230, 27, 149, 97, 255, 99, 201]);
2824 }
2825 #[repr(C)]
2826 #[doc(hidden)]
2827 pub struct IBluetoothLEConnectionPhy_abi(
2828 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2829 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2830 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2831 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2832 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2833 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2834 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2835 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2836 );
2837 #[repr(transparent)]
2838 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2839 #[doc(hidden)]
2840 pub struct IBluetoothLEConnectionPhyInfo(::windows::runtime::IInspectable);
2841 unsafe impl ::windows::runtime::Interface for IBluetoothLEConnectionPhyInfo {
2842 type Vtable = IBluetoothLEConnectionPhyInfo_abi;
2843 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2584742877, 24622, 23591, [161, 174, 178, 48, 1, 90, 99, 148]);
2844 }
2845 #[repr(C)]
2846 #[doc(hidden)]
2847 pub struct IBluetoothLEConnectionPhyInfo_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 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2855 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2856 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2857 );
2858 #[repr(transparent)]
2859 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2860 #[doc(hidden)]
2861 pub struct IBluetoothLEDevice(::windows::runtime::IInspectable);
2862 unsafe impl ::windows::runtime::Interface for IBluetoothLEDevice {
2863 type Vtable = IBluetoothLEDevice_abi;
2864 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3052285819, 19160, 17986, [172, 72, 128, 160, 181, 0, 232, 135]);
2865 }
2866 #[repr(C)]
2867 #[doc(hidden)]
2868 pub struct IBluetoothLEDevice_abi(
2869 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2870 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2871 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2872 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2873 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2874 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2875 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2876 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
2877 #[cfg(all(feature = "Devices_Bluetooth_GenericAttributeProfile", feature = "Foundation_Collections"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2878 #[cfg(not(all(feature = "Devices_Bluetooth_GenericAttributeProfile", feature = "Foundation_Collections")))] usize,
2879 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut BluetoothConnectionStatus) -> ::windows::runtime::HRESULT,
2880 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u64) -> ::windows::runtime::HRESULT,
2881 #[cfg(feature = "Devices_Bluetooth_GenericAttributeProfile")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, serviceuuid: ::windows::runtime::GUID, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2882 #[cfg(not(feature = "Devices_Bluetooth_GenericAttributeProfile"))] usize,
2883 #[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,
2884 #[cfg(not(feature = "Foundation"))] usize,
2885 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2886 #[cfg(not(feature = "Foundation"))] usize,
2887 #[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,
2888 #[cfg(not(feature = "Foundation"))] usize,
2889 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2890 #[cfg(not(feature = "Foundation"))] usize,
2891 #[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,
2892 #[cfg(not(feature = "Foundation"))] usize,
2893 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
2894 #[cfg(not(feature = "Foundation"))] usize,
2895 );
2896 #[repr(transparent)]
2897 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2898 #[doc(hidden)]
2899 pub struct IBluetoothLEDevice2(::windows::runtime::IInspectable);
2900 unsafe impl ::windows::runtime::Interface for IBluetoothLEDevice2 {
2901 type Vtable = IBluetoothLEDevice2_abi;
2902 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(653288115, 31470, 19761, [186, 186, 177, 185, 119, 95, 89, 22]);
2903 }
2904 #[repr(C)]
2905 #[doc(hidden)]
2906 pub struct IBluetoothLEDevice2_abi(
2907 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2908 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2909 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2910 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2911 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2912 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2913 #[cfg(feature = "Devices_Enumeration")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2914 #[cfg(not(feature = "Devices_Enumeration"))] usize,
2915 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2916 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut BluetoothAddressType) -> ::windows::runtime::HRESULT,
2917 );
2918 #[repr(transparent)]
2919 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2920 #[doc(hidden)]
2921 pub struct IBluetoothLEDevice3(::windows::runtime::IInspectable);
2922 unsafe impl ::windows::runtime::Interface for IBluetoothLEDevice3 {
2923 type Vtable = IBluetoothLEDevice3_abi;
2924 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2934563987, 17580, 16604, [175, 51, 178, 193, 60, 1, 202, 70]);
2925 }
2926 #[repr(C)]
2927 #[doc(hidden)]
2928 pub struct IBluetoothLEDevice3_abi(
2929 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2930 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2931 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2932 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2933 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2934 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2935 #[cfg(feature = "Devices_Enumeration")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2936 #[cfg(not(feature = "Devices_Enumeration"))] usize,
2937 #[cfg(all(feature = "Devices_Enumeration", feature = "Foundation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2938 #[cfg(not(all(feature = "Devices_Enumeration", feature = "Foundation")))] usize,
2939 #[cfg(all(feature = "Devices_Bluetooth_GenericAttributeProfile", feature = "Foundation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2940 #[cfg(not(all(feature = "Devices_Bluetooth_GenericAttributeProfile", feature = "Foundation")))] usize,
2941 #[cfg(all(feature = "Devices_Bluetooth_GenericAttributeProfile", feature = "Foundation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, cachemode: BluetoothCacheMode, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2942 #[cfg(not(all(feature = "Devices_Bluetooth_GenericAttributeProfile", feature = "Foundation")))] usize,
2943 #[cfg(all(feature = "Devices_Bluetooth_GenericAttributeProfile", feature = "Foundation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, serviceuuid: ::windows::runtime::GUID, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2944 #[cfg(not(all(feature = "Devices_Bluetooth_GenericAttributeProfile", feature = "Foundation")))] usize,
2945 #[cfg(all(feature = "Devices_Bluetooth_GenericAttributeProfile", feature = "Foundation"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, serviceuuid: ::windows::runtime::GUID, cachemode: BluetoothCacheMode, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2946 #[cfg(not(all(feature = "Devices_Bluetooth_GenericAttributeProfile", feature = "Foundation")))] usize,
2947 );
2948 #[repr(transparent)]
2949 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2950 #[doc(hidden)]
2951 pub struct IBluetoothLEDevice4(::windows::runtime::IInspectable);
2952 unsafe impl ::windows::runtime::Interface for IBluetoothLEDevice4 {
2953 type Vtable = IBluetoothLEDevice4_abi;
2954 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(727732273, 8776, 19247, [172, 240, 124, 238, 54, 252, 88, 112]);
2955 }
2956 #[repr(C)]
2957 #[doc(hidden)]
2958 pub struct IBluetoothLEDevice4_abi(
2959 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2960 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2961 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2962 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2963 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2964 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2965 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2966 );
2967 #[repr(transparent)]
2968 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2969 #[doc(hidden)]
2970 pub struct IBluetoothLEDevice5(::windows::runtime::IInspectable);
2971 unsafe impl ::windows::runtime::Interface for IBluetoothLEDevice5 {
2972 type Vtable = IBluetoothLEDevice5_abi;
2973 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2640974432, 21127, 17806, [149, 186, 23, 200, 183, 187, 50, 110]);
2974 }
2975 #[repr(C)]
2976 #[doc(hidden)]
2977 pub struct IBluetoothLEDevice5_abi(
2978 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2979 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2980 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2981 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
2982 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2983 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
2984 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT,
2985 );
2986 #[repr(transparent)]
2987 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
2988 #[doc(hidden)]
2989 pub struct IBluetoothLEDevice6(::windows::runtime::IInspectable);
2990 unsafe impl ::windows::runtime::Interface for IBluetoothLEDevice6 {
2991 type Vtable = IBluetoothLEDevice6_abi;
2992 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3396440303, 3246, 22332, [161, 202, 225, 252, 91, 252, 57, 226]);
2993 }
2994 #[repr(C)]
2995 #[doc(hidden)]
2996 pub struct IBluetoothLEDevice6_abi(
2997 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
2998 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
2999 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3000 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3001 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3002 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3003 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3004 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3005 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, preferredconnectionparameters: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3006 #[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,
3007 #[cfg(not(feature = "Foundation"))] usize,
3008 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
3009 #[cfg(not(feature = "Foundation"))] usize,
3010 #[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,
3011 #[cfg(not(feature = "Foundation"))] usize,
3012 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT,
3013 #[cfg(not(feature = "Foundation"))] usize,
3014 );
3015 #[repr(transparent)]
3016 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3017 #[doc(hidden)]
3018 pub struct IBluetoothLEDeviceStatics(::windows::runtime::IInspectable);
3019 unsafe impl ::windows::runtime::Interface for IBluetoothLEDeviceStatics {
3020 type Vtable = IBluetoothLEDeviceStatics_abi;
3021 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3369015833, 61622, 19440, [134, 137, 65, 48, 61, 226, 217, 244]);
3022 }
3023 #[repr(C)]
3024 #[doc(hidden)]
3025 pub struct IBluetoothLEDeviceStatics_abi(
3026 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3027 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3028 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3029 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3030 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3031 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3032 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, deviceid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3033 #[cfg(not(feature = "Foundation"))] usize,
3034 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bluetoothaddress: u64, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3035 #[cfg(not(feature = "Foundation"))] usize,
3036 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3037 );
3038 #[repr(transparent)]
3039 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3040 #[doc(hidden)]
3041 pub struct IBluetoothLEDeviceStatics2(::windows::runtime::IInspectable);
3042 unsafe impl ::windows::runtime::Interface for IBluetoothLEDeviceStatics2 {
3043 type Vtable = IBluetoothLEDeviceStatics2_abi;
3044 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1595064427, 15276, 17384, [173, 22, 86, 50, 113, 189, 65, 194]);
3045 }
3046 #[repr(C)]
3047 #[doc(hidden)]
3048 pub struct IBluetoothLEDeviceStatics2_abi(
3049 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3050 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3051 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3052 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3053 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3054 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3055 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, pairingstate: bool, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3056 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, connectionstatus: BluetoothConnectionStatus, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3057 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, devicename: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3058 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bluetoothaddress: u64, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3059 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bluetoothaddress: u64, bluetoothaddresstype: BluetoothAddressType, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3060 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, appearance: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT,
3061 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, bluetoothaddress: u64, bluetoothaddresstype: BluetoothAddressType, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3062 #[cfg(not(feature = "Foundation"))] usize,
3063 );
3064 #[repr(transparent)]
3065 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3066 #[doc(hidden)]
3067 pub struct IBluetoothLEPreferredConnectionParameters(::windows::runtime::IInspectable);
3068 unsafe impl ::windows::runtime::Interface for IBluetoothLEPreferredConnectionParameters {
3069 type Vtable = IBluetoothLEPreferredConnectionParameters_abi;
3070 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4076094276, 29554, 24443, [155, 52, 41, 201, 68, 245, 167, 21]);
3071 }
3072 #[repr(C)]
3073 #[doc(hidden)]
3074 pub struct IBluetoothLEPreferredConnectionParameters_abi(
3075 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3076 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3077 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3078 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3079 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3080 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3081 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
3082 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
3083 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
3084 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u16) -> ::windows::runtime::HRESULT,
3085 );
3086 #[repr(transparent)]
3087 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3088 #[doc(hidden)]
3089 pub struct IBluetoothLEPreferredConnectionParametersRequest(::windows::runtime::IInspectable);
3090 unsafe impl ::windows::runtime::Interface for IBluetoothLEPreferredConnectionParametersRequest {
3091 type Vtable = IBluetoothLEPreferredConnectionParametersRequest_abi;
3092 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2318881398, 42280, 21094, [182, 97, 204, 230, 165, 255, 151, 57]);
3093 }
3094 #[repr(C)]
3095 #[doc(hidden)]
3096 pub struct IBluetoothLEPreferredConnectionParametersRequest_abi(
3097 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3098 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3099 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3100 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3101 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3102 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3103 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut BluetoothLEPreferredConnectionParametersRequestStatus) -> ::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 IBluetoothLEPreferredConnectionParametersStatics(::windows::runtime::IInspectable);
3109 unsafe impl ::windows::runtime::Interface for IBluetoothLEPreferredConnectionParametersStatics {
3110 type Vtable = IBluetoothLEPreferredConnectionParametersStatics_abi;
3111 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(238980828, 10065, 21930, [168, 56, 143, 174, 238, 129, 141, 114]);
3112 }
3113 #[repr(C)]
3114 #[doc(hidden)]
3115 pub struct IBluetoothLEPreferredConnectionParametersStatics_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 ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3123 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3124 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::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 IBluetoothSignalStrengthFilter(::windows::runtime::IInspectable);
3130 unsafe impl ::windows::runtime::Interface for IBluetoothSignalStrengthFilter {
3131 type Vtable = IBluetoothSignalStrengthFilter_abi;
3132 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3749409681, 27573, 19710, [144, 177, 93, 115, 36, 237, 207, 127]);
3133 }
3134 #[repr(C)]
3135 #[doc(hidden)]
3136 pub struct IBluetoothSignalStrengthFilter_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 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3144 #[cfg(not(feature = "Foundation"))] usize,
3145 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3146 #[cfg(not(feature = "Foundation"))] usize,
3147 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3148 #[cfg(not(feature = "Foundation"))] usize,
3149 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3150 #[cfg(not(feature = "Foundation"))] usize,
3151 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3152 #[cfg(not(feature = "Foundation"))] usize,
3153 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3154 #[cfg(not(feature = "Foundation"))] usize,
3155 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3156 #[cfg(not(feature = "Foundation"))] usize,
3157 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3158 #[cfg(not(feature = "Foundation"))] usize,
3159 );
3160 #[repr(transparent)]
3161 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)]
3162 #[doc(hidden)]
3163 pub struct IBluetoothUuidHelperStatics(::windows::runtime::IInspectable);
3164 unsafe impl ::windows::runtime::Interface for IBluetoothUuidHelperStatics {
3165 type Vtable = IBluetoothUuidHelperStatics_abi;
3166 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(400493784, 53108, 19233, [175, 230, 245, 122, 17, 188, 222, 160]);
3167 }
3168 #[repr(C)]
3169 #[doc(hidden)]
3170 pub struct IBluetoothUuidHelperStatics_abi(
3171 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3172 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3173 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32,
3174 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3175 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3176 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT,
3177 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, shortid: u32, result__: *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT,
3178 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, uuid: ::windows::runtime::GUID, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT,
3179 #[cfg(not(feature = "Foundation"))] usize,
3180 );
3181