3 pub struct IBluetoothLEAdvertisement(::windows
::core
::IUnknown
);
4 unsafe impl ::windows
::core
::Interface
for IBluetoothLEAdvertisement
{
5 type Vtable
= IBluetoothLEAdvertisement_Vtbl
;
7 impl ::core
::clone
::Clone
for IBluetoothLEAdvertisement
{
8 fn clone(&self) -> Self {
12 unsafe impl ::windows
::core
::ComInterface
for IBluetoothLEAdvertisement
{
13 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0x066fb2b7_33d1_4e7d_8367_cf81d0f79653);
17 pub struct IBluetoothLEAdvertisement_Vtbl
{
18 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
19 #[cfg(feature = "Foundation")]
20 pub Flags
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
21 #[cfg(not(feature = "Foundation"))]
23 #[cfg(feature = "Foundation")]
24 pub SetFlags
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
25 #[cfg(not(feature = "Foundation"))]
27 pub LocalName
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
28 pub SetLocalName
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: ::std
::mem
::MaybeUninit
<::windows
::core
::HSTRING
>) -> ::windows
::core
::HRESULT
,
29 #[cfg(feature = "Foundation_Collections")]
30 pub ServiceUuids
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
31 #[cfg(not(feature = "Foundation_Collections"))]
33 #[cfg(feature = "Foundation_Collections")]
34 pub ManufacturerData
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
35 #[cfg(not(feature = "Foundation_Collections"))]
36 ManufacturerData
: usize,
37 #[cfg(feature = "Foundation_Collections")]
38 pub DataSections
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
39 #[cfg(not(feature = "Foundation_Collections"))]
41 #[cfg(feature = "Foundation_Collections")]
42 pub GetManufacturerDataByCompanyId
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, companyid
: u16, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
43 #[cfg(not(feature = "Foundation_Collections"))]
44 GetManufacturerDataByCompanyId
: usize,
45 #[cfg(feature = "Foundation_Collections")]
46 pub GetSectionsByType
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, r
#type: u8, result__: *mut *mut ::core::ffi::c_void) -> ::windows::core::HRESULT,
47 #[cfg(not(feature = "Foundation_Collections"))]
48 GetSectionsByType
: usize,
52 pub struct IBluetoothLEAdvertisementBytePattern(::windows
::core
::IUnknown
);
53 unsafe impl ::windows
::core
::Interface
for IBluetoothLEAdvertisementBytePattern
{
54 type Vtable
= IBluetoothLEAdvertisementBytePattern_Vtbl
;
56 impl ::core
::clone
::Clone
for IBluetoothLEAdvertisementBytePattern
{
57 fn clone(&self) -> Self {
61 unsafe impl ::windows
::core
::ComInterface
for IBluetoothLEAdvertisementBytePattern
{
62 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0xfbfad7f2_b9c5_4a08_bc51_502f8ef68a79);
66 pub struct IBluetoothLEAdvertisementBytePattern_Vtbl
{
67 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
68 pub DataType
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut u8) -> ::windows
::core
::HRESULT
,
69 pub SetDataType
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: u8) -> ::windows
::core
::HRESULT
,
70 pub Offset
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut i16) -> ::windows
::core
::HRESULT
,
71 pub SetOffset
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: i16) -> ::windows
::core
::HRESULT
,
72 #[cfg(feature = "Storage_Streams")]
73 pub Data
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
74 #[cfg(not(feature = "Storage_Streams"))]
76 #[cfg(feature = "Storage_Streams")]
77 pub SetData
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
78 #[cfg(not(feature = "Storage_Streams"))]
83 pub struct IBluetoothLEAdvertisementBytePatternFactory(::windows
::core
::IUnknown
);
84 unsafe impl ::windows
::core
::Interface
for IBluetoothLEAdvertisementBytePatternFactory
{
85 type Vtable
= IBluetoothLEAdvertisementBytePatternFactory_Vtbl
;
87 impl ::core
::clone
::Clone
for IBluetoothLEAdvertisementBytePatternFactory
{
88 fn clone(&self) -> Self {
92 unsafe impl ::windows
::core
::ComInterface
for IBluetoothLEAdvertisementBytePatternFactory
{
93 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0xc2e24d73_fd5c_4ec3_be2a_9ca6fa11b7bd);
97 pub struct IBluetoothLEAdvertisementBytePatternFactory_Vtbl
{
98 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
99 #[cfg(feature = "Storage_Streams")]
100 pub Create
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, datatype
: u8, offset
: i16, data
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
101 #[cfg(not(feature = "Storage_Streams"))]
106 pub struct IBluetoothLEAdvertisementDataSection(::windows
::core
::IUnknown
);
107 unsafe impl ::windows
::core
::Interface
for IBluetoothLEAdvertisementDataSection
{
108 type Vtable
= IBluetoothLEAdvertisementDataSection_Vtbl
;
110 impl ::core
::clone
::Clone
for IBluetoothLEAdvertisementDataSection
{
111 fn clone(&self) -> Self {
115 unsafe impl ::windows
::core
::ComInterface
for IBluetoothLEAdvertisementDataSection
{
116 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0xd7213314_3a43_40f9_b6f0_92bfefc34ae3);
120 pub struct IBluetoothLEAdvertisementDataSection_Vtbl
{
121 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
122 pub DataType
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut u8) -> ::windows
::core
::HRESULT
,
123 pub SetDataType
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: u8) -> ::windows
::core
::HRESULT
,
124 #[cfg(feature = "Storage_Streams")]
125 pub Data
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
126 #[cfg(not(feature = "Storage_Streams"))]
128 #[cfg(feature = "Storage_Streams")]
129 pub SetData
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
130 #[cfg(not(feature = "Storage_Streams"))]
135 pub struct IBluetoothLEAdvertisementDataSectionFactory(::windows
::core
::IUnknown
);
136 unsafe impl ::windows
::core
::Interface
for IBluetoothLEAdvertisementDataSectionFactory
{
137 type Vtable
= IBluetoothLEAdvertisementDataSectionFactory_Vtbl
;
139 impl ::core
::clone
::Clone
for IBluetoothLEAdvertisementDataSectionFactory
{
140 fn clone(&self) -> Self {
144 unsafe impl ::windows
::core
::ComInterface
for IBluetoothLEAdvertisementDataSectionFactory
{
145 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0xe7a40942_a845_4045_bf7e_3e9971db8a6b);
149 pub struct IBluetoothLEAdvertisementDataSectionFactory_Vtbl
{
150 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
151 #[cfg(feature = "Storage_Streams")]
152 pub Create
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, datatype
: u8, data
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
153 #[cfg(not(feature = "Storage_Streams"))]
158 pub struct IBluetoothLEAdvertisementDataTypesStatics(::windows
::core
::IUnknown
);
159 unsafe impl ::windows
::core
::Interface
for IBluetoothLEAdvertisementDataTypesStatics
{
160 type Vtable
= IBluetoothLEAdvertisementDataTypesStatics_Vtbl
;
162 impl ::core
::clone
::Clone
for IBluetoothLEAdvertisementDataTypesStatics
{
163 fn clone(&self) -> Self {
167 unsafe impl ::windows
::core
::ComInterface
for IBluetoothLEAdvertisementDataTypesStatics
{
168 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0x3bb6472f_0606_434b_a76e_74159f0684d3);
172 pub struct IBluetoothLEAdvertisementDataTypesStatics_Vtbl
{
173 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
174 pub Flags
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut u8) -> ::windows
::core
::HRESULT
,
175 pub IncompleteService16BitUuids
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut u8) -> ::windows
::core
::HRESULT
,
176 pub CompleteService16BitUuids
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut u8) -> ::windows
::core
::HRESULT
,
177 pub IncompleteService32BitUuids
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut u8) -> ::windows
::core
::HRESULT
,
178 pub CompleteService32BitUuids
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut u8) -> ::windows
::core
::HRESULT
,
179 pub IncompleteService128BitUuids
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut u8) -> ::windows
::core
::HRESULT
,
180 pub CompleteService128BitUuids
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut u8) -> ::windows
::core
::HRESULT
,
181 pub ShortenedLocalName
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut u8) -> ::windows
::core
::HRESULT
,
182 pub CompleteLocalName
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut u8) -> ::windows
::core
::HRESULT
,
183 pub TxPowerLevel
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut u8) -> ::windows
::core
::HRESULT
,
184 pub PeripheralConnectionIntervalRange
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut u8) -> ::windows
::core
::HRESULT
,
185 pub ServiceSolicitation16BitUuids
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut u8) -> ::windows
::core
::HRESULT
,
186 pub ServiceSolicitation32BitUuids
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut u8) -> ::windows
::core
::HRESULT
,
187 pub ServiceSolicitation128BitUuids
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut u8) -> ::windows
::core
::HRESULT
,
188 pub ServiceData16BitUuids
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut u8) -> ::windows
::core
::HRESULT
,
189 pub ServiceData32BitUuids
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut u8) -> ::windows
::core
::HRESULT
,
190 pub ServiceData128BitUuids
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut u8) -> ::windows
::core
::HRESULT
,
191 pub PublicTargetAddress
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut u8) -> ::windows
::core
::HRESULT
,
192 pub RandomTargetAddress
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut u8) -> ::windows
::core
::HRESULT
,
193 pub Appearance
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut u8) -> ::windows
::core
::HRESULT
,
194 pub AdvertisingInterval
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut u8) -> ::windows
::core
::HRESULT
,
195 pub ManufacturerSpecificData
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut u8) -> ::windows
::core
::HRESULT
,
199 pub struct IBluetoothLEAdvertisementFilter(::windows
::core
::IUnknown
);
200 unsafe impl ::windows
::core
::Interface
for IBluetoothLEAdvertisementFilter
{
201 type Vtable
= IBluetoothLEAdvertisementFilter_Vtbl
;
203 impl ::core
::clone
::Clone
for IBluetoothLEAdvertisementFilter
{
204 fn clone(&self) -> Self {
208 unsafe impl ::windows
::core
::ComInterface
for IBluetoothLEAdvertisementFilter
{
209 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0x131eb0d3_d04e_47b1_837e_49405bf6f80f);
213 pub struct IBluetoothLEAdvertisementFilter_Vtbl
{
214 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
215 pub Advertisement
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
216 pub SetAdvertisement
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
217 #[cfg(feature = "Foundation_Collections")]
218 pub BytePatterns
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
219 #[cfg(not(feature = "Foundation_Collections"))]
224 pub struct IBluetoothLEAdvertisementPublisher(::windows
::core
::IUnknown
);
225 unsafe impl ::windows
::core
::Interface
for IBluetoothLEAdvertisementPublisher
{
226 type Vtable
= IBluetoothLEAdvertisementPublisher_Vtbl
;
228 impl ::core
::clone
::Clone
for IBluetoothLEAdvertisementPublisher
{
229 fn clone(&self) -> Self {
233 unsafe impl ::windows
::core
::ComInterface
for IBluetoothLEAdvertisementPublisher
{
234 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0xcde820f9_d9fa_43d6_a264_ddd8b7da8b78);
238 pub struct IBluetoothLEAdvertisementPublisher_Vtbl
{
239 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
240 pub Status
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut BluetoothLEAdvertisementPublisherStatus
) -> ::windows
::core
::HRESULT
,
241 pub Advertisement
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
242 pub Start
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
243 pub Stop
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
244 #[cfg(feature = "Foundation")]
245 pub StatusChanged
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, handler
: *mut ::core
::ffi
::c_void
, result__
: *mut super::super::super::Foundation
::EventRegistrationToken
) -> ::windows
::core
::HRESULT
,
246 #[cfg(not(feature = "Foundation"))]
247 StatusChanged
: usize,
248 #[cfg(feature = "Foundation")]
249 pub RemoveStatusChanged
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, token
: super::super::super::Foundation
::EventRegistrationToken
) -> ::windows
::core
::HRESULT
,
250 #[cfg(not(feature = "Foundation"))]
251 RemoveStatusChanged
: usize,
255 pub struct IBluetoothLEAdvertisementPublisher2(::windows
::core
::IUnknown
);
256 unsafe impl ::windows
::core
::Interface
for IBluetoothLEAdvertisementPublisher2
{
257 type Vtable
= IBluetoothLEAdvertisementPublisher2_Vtbl
;
259 impl ::core
::clone
::Clone
for IBluetoothLEAdvertisementPublisher2
{
260 fn clone(&self) -> Self {
264 unsafe impl ::windows
::core
::ComInterface
for IBluetoothLEAdvertisementPublisher2
{
265 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0xfbdb545e_56f1_510f_a434_217fbd9e7bd2);
269 pub struct IBluetoothLEAdvertisementPublisher2_Vtbl
{
270 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
271 #[cfg(feature = "Foundation")]
272 pub PreferredTransmitPowerLevelInDBm
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
273 #[cfg(not(feature = "Foundation"))]
274 PreferredTransmitPowerLevelInDBm
: usize,
275 #[cfg(feature = "Foundation")]
276 pub SetPreferredTransmitPowerLevelInDBm
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
277 #[cfg(not(feature = "Foundation"))]
278 SetPreferredTransmitPowerLevelInDBm
: usize,
279 pub UseExtendedAdvertisement
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut bool
) -> ::windows
::core
::HRESULT
,
280 pub SetUseExtendedAdvertisement
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: bool
) -> ::windows
::core
::HRESULT
,
281 pub IsAnonymous
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut bool
) -> ::windows
::core
::HRESULT
,
282 pub SetIsAnonymous
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: bool
) -> ::windows
::core
::HRESULT
,
283 pub IncludeTransmitPowerLevel
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut bool
) -> ::windows
::core
::HRESULT
,
284 pub SetIncludeTransmitPowerLevel
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: bool
) -> ::windows
::core
::HRESULT
,
288 pub struct IBluetoothLEAdvertisementPublisherFactory(::windows
::core
::IUnknown
);
289 unsafe impl ::windows
::core
::Interface
for IBluetoothLEAdvertisementPublisherFactory
{
290 type Vtable
= IBluetoothLEAdvertisementPublisherFactory_Vtbl
;
292 impl ::core
::clone
::Clone
for IBluetoothLEAdvertisementPublisherFactory
{
293 fn clone(&self) -> Self {
297 unsafe impl ::windows
::core
::ComInterface
for IBluetoothLEAdvertisementPublisherFactory
{
298 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0x5c5f065e_b863_4981_a1af_1c544d8b0c0d);
302 pub struct IBluetoothLEAdvertisementPublisherFactory_Vtbl
{
303 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
304 pub Create
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, advertisement
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
308 pub struct IBluetoothLEAdvertisementPublisherStatusChangedEventArgs(::windows
::core
::IUnknown
);
309 unsafe impl ::windows
::core
::Interface
for IBluetoothLEAdvertisementPublisherStatusChangedEventArgs
{
310 type Vtable
= IBluetoothLEAdvertisementPublisherStatusChangedEventArgs_Vtbl
;
312 impl ::core
::clone
::Clone
for IBluetoothLEAdvertisementPublisherStatusChangedEventArgs
{
313 fn clone(&self) -> Self {
317 unsafe impl ::windows
::core
::ComInterface
for IBluetoothLEAdvertisementPublisherStatusChangedEventArgs
{
318 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0x09c2bd9f_2dff_4b23_86ee_0d14fb94aeae);
322 pub struct IBluetoothLEAdvertisementPublisherStatusChangedEventArgs_Vtbl
{
323 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
324 pub Status
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut BluetoothLEAdvertisementPublisherStatus
) -> ::windows
::core
::HRESULT
,
325 pub Error
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut super::BluetoothError
) -> ::windows
::core
::HRESULT
,
329 pub struct IBluetoothLEAdvertisementPublisherStatusChangedEventArgs2(::windows
::core
::IUnknown
);
330 unsafe impl ::windows
::core
::Interface
for IBluetoothLEAdvertisementPublisherStatusChangedEventArgs2
{
331 type Vtable
= IBluetoothLEAdvertisementPublisherStatusChangedEventArgs2_Vtbl
;
333 impl ::core
::clone
::Clone
for IBluetoothLEAdvertisementPublisherStatusChangedEventArgs2
{
334 fn clone(&self) -> Self {
338 unsafe impl ::windows
::core
::ComInterface
for IBluetoothLEAdvertisementPublisherStatusChangedEventArgs2
{
339 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0x8f62790e_dc88_5c8b_b34e_10b321850f88);
343 pub struct IBluetoothLEAdvertisementPublisherStatusChangedEventArgs2_Vtbl
{
344 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
345 #[cfg(feature = "Foundation")]
346 pub SelectedTransmitPowerLevelInDBm
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
347 #[cfg(not(feature = "Foundation"))]
348 SelectedTransmitPowerLevelInDBm
: usize,
352 pub struct IBluetoothLEAdvertisementReceivedEventArgs(::windows
::core
::IUnknown
);
353 unsafe impl ::windows
::core
::Interface
for IBluetoothLEAdvertisementReceivedEventArgs
{
354 type Vtable
= IBluetoothLEAdvertisementReceivedEventArgs_Vtbl
;
356 impl ::core
::clone
::Clone
for IBluetoothLEAdvertisementReceivedEventArgs
{
357 fn clone(&self) -> Self {
361 unsafe impl ::windows
::core
::ComInterface
for IBluetoothLEAdvertisementReceivedEventArgs
{
362 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0x27987ddf_e596_41be_8d43_9e6731d4a913);
366 pub struct IBluetoothLEAdvertisementReceivedEventArgs_Vtbl
{
367 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
368 pub RawSignalStrengthInDBm
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut i16) -> ::windows
::core
::HRESULT
,
369 pub BluetoothAddress
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut u64) -> ::windows
::core
::HRESULT
,
370 pub AdvertisementType
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut BluetoothLEAdvertisementType
) -> ::windows
::core
::HRESULT
,
371 #[cfg(feature = "Foundation")]
372 pub Timestamp
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut super::super::super::Foundation
::DateTime
) -> ::windows
::core
::HRESULT
,
373 #[cfg(not(feature = "Foundation"))]
375 pub Advertisement
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
379 pub struct IBluetoothLEAdvertisementReceivedEventArgs2(::windows
::core
::IUnknown
);
380 unsafe impl ::windows
::core
::Interface
for IBluetoothLEAdvertisementReceivedEventArgs2
{
381 type Vtable
= IBluetoothLEAdvertisementReceivedEventArgs2_Vtbl
;
383 impl ::core
::clone
::Clone
for IBluetoothLEAdvertisementReceivedEventArgs2
{
384 fn clone(&self) -> Self {
388 unsafe impl ::windows
::core
::ComInterface
for IBluetoothLEAdvertisementReceivedEventArgs2
{
389 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0x12d9c87b_0399_5f0e_a348_53b02b6b162e);
393 pub struct IBluetoothLEAdvertisementReceivedEventArgs2_Vtbl
{
394 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
395 pub BluetoothAddressType
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut super::BluetoothAddressType
) -> ::windows
::core
::HRESULT
,
396 #[cfg(feature = "Foundation")]
397 pub TransmitPowerLevelInDBm
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
398 #[cfg(not(feature = "Foundation"))]
399 TransmitPowerLevelInDBm
: usize,
400 pub IsAnonymous
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut bool
) -> ::windows
::core
::HRESULT
,
401 pub IsConnectable
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut bool
) -> ::windows
::core
::HRESULT
,
402 pub IsScannable
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut bool
) -> ::windows
::core
::HRESULT
,
403 pub IsDirected
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut bool
) -> ::windows
::core
::HRESULT
,
404 pub IsScanResponse
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut bool
) -> ::windows
::core
::HRESULT
,
408 pub struct IBluetoothLEAdvertisementWatcher(::windows
::core
::IUnknown
);
409 unsafe impl ::windows
::core
::Interface
for IBluetoothLEAdvertisementWatcher
{
410 type Vtable
= IBluetoothLEAdvertisementWatcher_Vtbl
;
412 impl ::core
::clone
::Clone
for IBluetoothLEAdvertisementWatcher
{
413 fn clone(&self) -> Self {
417 unsafe impl ::windows
::core
::ComInterface
for IBluetoothLEAdvertisementWatcher
{
418 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0xa6ac336f_f3d3_4297_8d6c_c81ea6623f40);
422 pub struct IBluetoothLEAdvertisementWatcher_Vtbl
{
423 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
424 #[cfg(feature = "Foundation")]
425 pub MinSamplingInterval
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut super::super::super::Foundation
::TimeSpan
) -> ::windows
::core
::HRESULT
,
426 #[cfg(not(feature = "Foundation"))]
427 MinSamplingInterval
: usize,
428 #[cfg(feature = "Foundation")]
429 pub MaxSamplingInterval
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut super::super::super::Foundation
::TimeSpan
) -> ::windows
::core
::HRESULT
,
430 #[cfg(not(feature = "Foundation"))]
431 MaxSamplingInterval
: usize,
432 #[cfg(feature = "Foundation")]
433 pub MinOutOfRangeTimeout
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut super::super::super::Foundation
::TimeSpan
) -> ::windows
::core
::HRESULT
,
434 #[cfg(not(feature = "Foundation"))]
435 MinOutOfRangeTimeout
: usize,
436 #[cfg(feature = "Foundation")]
437 pub MaxOutOfRangeTimeout
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut super::super::super::Foundation
::TimeSpan
) -> ::windows
::core
::HRESULT
,
438 #[cfg(not(feature = "Foundation"))]
439 MaxOutOfRangeTimeout
: usize,
440 pub Status
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut BluetoothLEAdvertisementWatcherStatus
) -> ::windows
::core
::HRESULT
,
441 pub ScanningMode
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut BluetoothLEScanningMode
) -> ::windows
::core
::HRESULT
,
442 pub SetScanningMode
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: BluetoothLEScanningMode
) -> ::windows
::core
::HRESULT
,
443 pub SignalStrengthFilter
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
444 pub SetSignalStrengthFilter
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
445 pub AdvertisementFilter
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
446 pub SetAdvertisementFilter
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
447 pub Start
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
448 pub Stop
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
449 #[cfg(feature = "Foundation")]
450 pub Received
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, handler
: *mut ::core
::ffi
::c_void
, result__
: *mut super::super::super::Foundation
::EventRegistrationToken
) -> ::windows
::core
::HRESULT
,
451 #[cfg(not(feature = "Foundation"))]
453 #[cfg(feature = "Foundation")]
454 pub RemoveReceived
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, token
: super::super::super::Foundation
::EventRegistrationToken
) -> ::windows
::core
::HRESULT
,
455 #[cfg(not(feature = "Foundation"))]
456 RemoveReceived
: usize,
457 #[cfg(feature = "Foundation")]
458 pub Stopped
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, handler
: *mut ::core
::ffi
::c_void
, result__
: *mut super::super::super::Foundation
::EventRegistrationToken
) -> ::windows
::core
::HRESULT
,
459 #[cfg(not(feature = "Foundation"))]
461 #[cfg(feature = "Foundation")]
462 pub RemoveStopped
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, token
: super::super::super::Foundation
::EventRegistrationToken
) -> ::windows
::core
::HRESULT
,
463 #[cfg(not(feature = "Foundation"))]
464 RemoveStopped
: usize,
468 pub struct IBluetoothLEAdvertisementWatcher2(::windows
::core
::IUnknown
);
469 unsafe impl ::windows
::core
::Interface
for IBluetoothLEAdvertisementWatcher2
{
470 type Vtable
= IBluetoothLEAdvertisementWatcher2_Vtbl
;
472 impl ::core
::clone
::Clone
for IBluetoothLEAdvertisementWatcher2
{
473 fn clone(&self) -> Self {
477 unsafe impl ::windows
::core
::ComInterface
for IBluetoothLEAdvertisementWatcher2
{
478 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0x01bf26bc_b164_5805_90a3_e8a7997ff225);
482 pub struct IBluetoothLEAdvertisementWatcher2_Vtbl
{
483 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
484 pub AllowExtendedAdvertisements
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut bool
) -> ::windows
::core
::HRESULT
,
485 pub SetAllowExtendedAdvertisements
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: bool
) -> ::windows
::core
::HRESULT
,
489 pub struct IBluetoothLEAdvertisementWatcherFactory(::windows
::core
::IUnknown
);
490 unsafe impl ::windows
::core
::Interface
for IBluetoothLEAdvertisementWatcherFactory
{
491 type Vtable
= IBluetoothLEAdvertisementWatcherFactory_Vtbl
;
493 impl ::core
::clone
::Clone
for IBluetoothLEAdvertisementWatcherFactory
{
494 fn clone(&self) -> Self {
498 unsafe impl ::windows
::core
::ComInterface
for IBluetoothLEAdvertisementWatcherFactory
{
499 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0x9aaf2d56_39ac_453e_b32a_85c657e017f1);
503 pub struct IBluetoothLEAdvertisementWatcherFactory_Vtbl
{
504 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
505 pub Create
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, advertisementfilter
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
509 pub struct IBluetoothLEAdvertisementWatcherStoppedEventArgs(::windows
::core
::IUnknown
);
510 unsafe impl ::windows
::core
::Interface
for IBluetoothLEAdvertisementWatcherStoppedEventArgs
{
511 type Vtable
= IBluetoothLEAdvertisementWatcherStoppedEventArgs_Vtbl
;
513 impl ::core
::clone
::Clone
for IBluetoothLEAdvertisementWatcherStoppedEventArgs
{
514 fn clone(&self) -> Self {
518 unsafe impl ::windows
::core
::ComInterface
for IBluetoothLEAdvertisementWatcherStoppedEventArgs
{
519 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0xdd40f84d_e7b9_43e3_9c04_0685d085fd8c);
523 pub struct IBluetoothLEAdvertisementWatcherStoppedEventArgs_Vtbl
{
524 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
525 pub Error
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut super::BluetoothError
) -> ::windows
::core
::HRESULT
,
529 pub struct IBluetoothLEManufacturerData(::windows
::core
::IUnknown
);
530 unsafe impl ::windows
::core
::Interface
for IBluetoothLEManufacturerData
{
531 type Vtable
= IBluetoothLEManufacturerData_Vtbl
;
533 impl ::core
::clone
::Clone
for IBluetoothLEManufacturerData
{
534 fn clone(&self) -> Self {
538 unsafe impl ::windows
::core
::ComInterface
for IBluetoothLEManufacturerData
{
539 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0x912dba18_6963_4533_b061_4694dafb34e5);
543 pub struct IBluetoothLEManufacturerData_Vtbl
{
544 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
545 pub CompanyId
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut u16) -> ::windows
::core
::HRESULT
,
546 pub SetCompanyId
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: u16) -> ::windows
::core
::HRESULT
,
547 #[cfg(feature = "Storage_Streams")]
548 pub Data
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
549 #[cfg(not(feature = "Storage_Streams"))]
551 #[cfg(feature = "Storage_Streams")]
552 pub SetData
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, value
: *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
553 #[cfg(not(feature = "Storage_Streams"))]
558 pub struct IBluetoothLEManufacturerDataFactory(::windows
::core
::IUnknown
);
559 unsafe impl ::windows
::core
::Interface
for IBluetoothLEManufacturerDataFactory
{
560 type Vtable
= IBluetoothLEManufacturerDataFactory_Vtbl
;
562 impl ::core
::clone
::Clone
for IBluetoothLEManufacturerDataFactory
{
563 fn clone(&self) -> Self {
567 unsafe impl ::windows
::core
::ComInterface
for IBluetoothLEManufacturerDataFactory
{
568 const IID
: ::windows
::core
::GUID
= ::windows
::core
::GUID
::from_u128(0xc09b39f8_319a_441e_8de5_66a81e877a6c);
572 pub struct IBluetoothLEManufacturerDataFactory_Vtbl
{
573 pub base__
: ::windows
::core
::IInspectable_Vtbl
,
574 #[cfg(feature = "Storage_Streams")]
575 pub Create
: unsafe extern "system" fn(this
: *mut ::core
::ffi
::c_void
, companyid
: u16, data
: *mut ::core
::ffi
::c_void
, result__
: *mut *mut ::core
::ffi
::c_void
) -> ::windows
::core
::HRESULT
,
576 #[cfg(not(feature = "Storage_Streams"))]
579 #[doc = "*Required features: `\"Devices_Bluetooth_Advertisement\"`*"]
581 pub struct BluetoothLEAdvertisement(::windows
::core
::IUnknown
);
582 impl BluetoothLEAdvertisement
{
583 pub fn new() -> ::windows
::core
::Result
<Self> {
584 Self::IActivationFactory(|f
| f
.ActivateInstance
::<Self>())
586 fn IActivationFactory
<R
, F
: FnOnce(&::windows
::imp
::IGenericFactory
) -> ::windows
::core
::Result
<R
>>(callback
: F
) -> ::windows
::core
::Result
<R
> {
587 static SHARED
: ::windows
::imp
::FactoryCache
<BluetoothLEAdvertisement
, ::windows
::imp
::IGenericFactory
> = ::windows
::imp
::FactoryCache
::new();
588 SHARED
.call(callback
)
590 #[doc = "*Required features: `\"Foundation\"`*"]
591 #[cfg(feature = "Foundation")]
592 pub fn Flags(&self) -> ::windows
::core
::Result
<super::super::super::Foundation
::IReference
<BluetoothLEAdvertisementFlags
>> {
595 let mut result__
= ::windows
::core
::zeroed
::<super::super::super::Foundation
::IReference
<BluetoothLEAdvertisementFlags
>>();
596 (::windows
::core
::Interface
::vtable(this
).Flags
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
599 #[doc = "*Required features: `\"Foundation\"`*"]
600 #[cfg(feature = "Foundation")]
601 pub fn SetFlags
<P0
>(&self, value
: P0
) -> ::windows
::core
::Result
<()>
603 P0
: ::windows
::core
::TryIntoParam
<super::super::super::Foundation
::IReference
<BluetoothLEAdvertisementFlags
>>,
606 unsafe { (::windows::core::Interface::vtable(this).SetFlags)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
608 pub fn LocalName(&self) -> ::windows
::core
::Result
<::windows
::core
::HSTRING
> {
611 let mut result__
= ::windows
::core
::zeroed
::<::windows
::core
::HSTRING
>();
612 (::windows
::core
::Interface
::vtable(this
).LocalName
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
615 pub fn SetLocalName(&self, value
: &::windows
::core
::HSTRING
) -> ::windows
::core
::Result
<()> {
617 unsafe { (::windows::core::Interface::vtable(this).SetLocalName)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
619 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
620 #[cfg(feature = "Foundation_Collections")]
621 pub fn ServiceUuids(&self) -> ::windows
::core
::Result
<super::super::super::Foundation
::Collections
::IVector
<::windows
::core
::GUID
>> {
624 let mut result__
= ::windows
::core
::zeroed
::<super::super::super::Foundation
::Collections
::IVector
<::windows
::core
::GUID
>>();
625 (::windows
::core
::Interface
::vtable(this
).ServiceUuids
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
628 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
629 #[cfg(feature = "Foundation_Collections")]
630 pub fn ManufacturerData(&self) -> ::windows
::core
::Result
<super::super::super::Foundation
::Collections
::IVector
<BluetoothLEManufacturerData
>> {
633 let mut result__
= ::windows
::core
::zeroed
::<super::super::super::Foundation
::Collections
::IVector
<BluetoothLEManufacturerData
>>();
634 (::windows
::core
::Interface
::vtable(this
).ManufacturerData
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
637 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
638 #[cfg(feature = "Foundation_Collections")]
639 pub fn DataSections(&self) -> ::windows
::core
::Result
<super::super::super::Foundation
::Collections
::IVector
<BluetoothLEAdvertisementDataSection
>> {
642 let mut result__
= ::windows
::core
::zeroed
::<super::super::super::Foundation
::Collections
::IVector
<BluetoothLEAdvertisementDataSection
>>();
643 (::windows
::core
::Interface
::vtable(this
).DataSections
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
646 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
647 #[cfg(feature = "Foundation_Collections")]
648 pub fn GetManufacturerDataByCompanyId(&self, companyid
: u16) -> ::windows
::core
::Result
<super::super::super::Foundation
::Collections
::IVectorView
<BluetoothLEManufacturerData
>> {
651 let mut result__
= ::windows
::core
::zeroed
::<super::super::super::Foundation
::Collections
::IVectorView
<BluetoothLEManufacturerData
>>();
652 (::windows
::core
::Interface
::vtable(this
).GetManufacturerDataByCompanyId
)(::windows
::core
::Interface
::as_raw(this
), companyid
, &mut result__
).from_abi(result__
)
655 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
656 #[cfg(feature = "Foundation_Collections")]
657 pub fn GetSectionsByType(&self, r
#type: u8) -> ::windows::core::Result<super::super::super::Foundation::Collections::IVectorView<BluetoothLEAdvertisementDataSection>> {
660 let mut result__
= ::windows
::core
::zeroed
::<super::super::super::Foundation
::Collections
::IVectorView
<BluetoothLEAdvertisementDataSection
>>();
661 (::windows
::core
::Interface
::vtable(this
).GetSectionsByType
)(::windows
::core
::Interface
::as_raw(this
), r
#type, &mut result__).from_abi(result__)
665 impl ::core
::cmp
::PartialEq
for BluetoothLEAdvertisement
{
666 fn eq(&self, other
: &Self) -> bool
{
670 impl ::core
::cmp
::Eq
for BluetoothLEAdvertisement {}
671 impl ::core
::fmt
::Debug
for BluetoothLEAdvertisement
{
672 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
673 f
.debug_tuple("BluetoothLEAdvertisement").field(&self.0).finish()
676 impl ::windows
::core
::RuntimeType
for BluetoothLEAdvertisement
{
677 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"rc(Windows.Devices.Bluetooth.Advertisement.BluetoothLEAdvertisement;{066fb2b7-33d1-4e7d-8367-cf81d0f79653})");
679 impl ::core
::clone
::Clone
for BluetoothLEAdvertisement
{
680 fn clone(&self) -> Self {
684 unsafe impl ::windows
::core
::Interface
for BluetoothLEAdvertisement
{
685 type Vtable
= IBluetoothLEAdvertisement_Vtbl
;
687 unsafe impl ::windows
::core
::ComInterface
for BluetoothLEAdvertisement
{
688 const IID
: ::windows
::core
::GUID
= <IBluetoothLEAdvertisement
as ::windows
::core
::ComInterface
>::IID
;
690 impl ::windows
::core
::RuntimeName
for BluetoothLEAdvertisement
{
691 const NAME
: &'
static str = "Windows.Devices.Bluetooth.Advertisement.BluetoothLEAdvertisement";
693 ::windows
::imp
::interface_hierarchy
!(BluetoothLEAdvertisement
, ::windows
::core
::IUnknown
, ::windows
::core
::IInspectable
);
694 unsafe impl ::core
::marker
::Send
for BluetoothLEAdvertisement {}
695 unsafe impl ::core
::marker
::Sync
for BluetoothLEAdvertisement {}
696 #[doc = "*Required features: `\"Devices_Bluetooth_Advertisement\"`*"]
698 pub struct BluetoothLEAdvertisementBytePattern(::windows
::core
::IUnknown
);
699 impl BluetoothLEAdvertisementBytePattern
{
700 pub fn new() -> ::windows
::core
::Result
<Self> {
701 Self::IActivationFactory(|f
| f
.ActivateInstance
::<Self>())
703 fn IActivationFactory
<R
, F
: FnOnce(&::windows
::imp
::IGenericFactory
) -> ::windows
::core
::Result
<R
>>(callback
: F
) -> ::windows
::core
::Result
<R
> {
704 static SHARED
: ::windows
::imp
::FactoryCache
<BluetoothLEAdvertisementBytePattern
, ::windows
::imp
::IGenericFactory
> = ::windows
::imp
::FactoryCache
::new();
705 SHARED
.call(callback
)
707 pub fn DataType(&self) -> ::windows
::core
::Result
<u8> {
710 let mut result__
= ::windows
::core
::zeroed
::<u8>();
711 (::windows
::core
::Interface
::vtable(this
).DataType
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
714 pub fn SetDataType(&self, value
: u8) -> ::windows
::core
::Result
<()> {
716 unsafe { (::windows::core::Interface::vtable(this).SetDataType)(::windows::core::Interface::as_raw(this), value).ok() }
718 pub fn Offset(&self) -> ::windows
::core
::Result
<i16> {
721 let mut result__
= ::windows
::core
::zeroed
::<i16>();
722 (::windows
::core
::Interface
::vtable(this
).Offset
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
725 pub fn SetOffset(&self, value
: i16) -> ::windows
::core
::Result
<()> {
727 unsafe { (::windows::core::Interface::vtable(this).SetOffset)(::windows::core::Interface::as_raw(this), value).ok() }
729 #[doc = "*Required features: `\"Storage_Streams\"`*"]
730 #[cfg(feature = "Storage_Streams")]
731 pub fn Data(&self) -> ::windows
::core
::Result
<super::super::super::Storage
::Streams
::IBuffer
> {
734 let mut result__
= ::windows
::core
::zeroed
::<super::super::super::Storage
::Streams
::IBuffer
>();
735 (::windows
::core
::Interface
::vtable(this
).Data
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
738 #[doc = "*Required features: `\"Storage_Streams\"`*"]
739 #[cfg(feature = "Storage_Streams")]
740 pub fn SetData
<P0
>(&self, value
: P0
) -> ::windows
::core
::Result
<()>
742 P0
: ::windows
::core
::TryIntoParam
<super::super::super::Storage
::Streams
::IBuffer
>,
745 unsafe { (::windows::core::Interface::vtable(this).SetData)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
747 #[doc = "*Required features: `\"Storage_Streams\"`*"]
748 #[cfg(feature = "Storage_Streams")]
749 pub fn Create
<P0
>(datatype
: u8, offset
: i16, data
: P0
) -> ::windows
::core
::Result
<BluetoothLEAdvertisementBytePattern
>
751 P0
: ::windows
::core
::TryIntoParam
<super::super::super::Storage
::Streams
::IBuffer
>,
753 Self::IBluetoothLEAdvertisementBytePatternFactory(|this
| unsafe {
754 let mut result__
= ::windows
::core
::zeroed
::<BluetoothLEAdvertisementBytePattern
>();
755 (::windows
::core
::Interface
::vtable(this
).Create
)(::windows
::core
::Interface
::as_raw(this
), datatype
, offset
, data
.try_into_param()?
.abi(), &mut result__
).from_abi(result__
)
759 pub fn IBluetoothLEAdvertisementBytePatternFactory
<R
, F
: FnOnce(&IBluetoothLEAdvertisementBytePatternFactory
) -> ::windows
::core
::Result
<R
>>(callback
: F
) -> ::windows
::core
::Result
<R
> {
760 static SHARED
: ::windows
::imp
::FactoryCache
<BluetoothLEAdvertisementBytePattern
, IBluetoothLEAdvertisementBytePatternFactory
> = ::windows
::imp
::FactoryCache
::new();
761 SHARED
.call(callback
)
764 impl ::core
::cmp
::PartialEq
for BluetoothLEAdvertisementBytePattern
{
765 fn eq(&self, other
: &Self) -> bool
{
769 impl ::core
::cmp
::Eq
for BluetoothLEAdvertisementBytePattern {}
770 impl ::core
::fmt
::Debug
for BluetoothLEAdvertisementBytePattern
{
771 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
772 f
.debug_tuple("BluetoothLEAdvertisementBytePattern").field(&self.0).finish()
775 impl ::windows
::core
::RuntimeType
for BluetoothLEAdvertisementBytePattern
{
776 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"rc(Windows.Devices.Bluetooth.Advertisement.BluetoothLEAdvertisementBytePattern;{fbfad7f2-b9c5-4a08-bc51-502f8ef68a79})");
778 impl ::core
::clone
::Clone
for BluetoothLEAdvertisementBytePattern
{
779 fn clone(&self) -> Self {
783 unsafe impl ::windows
::core
::Interface
for BluetoothLEAdvertisementBytePattern
{
784 type Vtable
= IBluetoothLEAdvertisementBytePattern_Vtbl
;
786 unsafe impl ::windows
::core
::ComInterface
for BluetoothLEAdvertisementBytePattern
{
787 const IID
: ::windows
::core
::GUID
= <IBluetoothLEAdvertisementBytePattern
as ::windows
::core
::ComInterface
>::IID
;
789 impl ::windows
::core
::RuntimeName
for BluetoothLEAdvertisementBytePattern
{
790 const NAME
: &'
static str = "Windows.Devices.Bluetooth.Advertisement.BluetoothLEAdvertisementBytePattern";
792 ::windows
::imp
::interface_hierarchy
!(BluetoothLEAdvertisementBytePattern
, ::windows
::core
::IUnknown
, ::windows
::core
::IInspectable
);
793 unsafe impl ::core
::marker
::Send
for BluetoothLEAdvertisementBytePattern {}
794 unsafe impl ::core
::marker
::Sync
for BluetoothLEAdvertisementBytePattern {}
795 #[doc = "*Required features: `\"Devices_Bluetooth_Advertisement\"`*"]
797 pub struct BluetoothLEAdvertisementDataSection(::windows
::core
::IUnknown
);
798 impl BluetoothLEAdvertisementDataSection
{
799 pub fn new() -> ::windows
::core
::Result
<Self> {
800 Self::IActivationFactory(|f
| f
.ActivateInstance
::<Self>())
802 fn IActivationFactory
<R
, F
: FnOnce(&::windows
::imp
::IGenericFactory
) -> ::windows
::core
::Result
<R
>>(callback
: F
) -> ::windows
::core
::Result
<R
> {
803 static SHARED
: ::windows
::imp
::FactoryCache
<BluetoothLEAdvertisementDataSection
, ::windows
::imp
::IGenericFactory
> = ::windows
::imp
::FactoryCache
::new();
804 SHARED
.call(callback
)
806 pub fn DataType(&self) -> ::windows
::core
::Result
<u8> {
809 let mut result__
= ::windows
::core
::zeroed
::<u8>();
810 (::windows
::core
::Interface
::vtable(this
).DataType
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
813 pub fn SetDataType(&self, value
: u8) -> ::windows
::core
::Result
<()> {
815 unsafe { (::windows::core::Interface::vtable(this).SetDataType)(::windows::core::Interface::as_raw(this), value).ok() }
817 #[doc = "*Required features: `\"Storage_Streams\"`*"]
818 #[cfg(feature = "Storage_Streams")]
819 pub fn Data(&self) -> ::windows
::core
::Result
<super::super::super::Storage
::Streams
::IBuffer
> {
822 let mut result__
= ::windows
::core
::zeroed
::<super::super::super::Storage
::Streams
::IBuffer
>();
823 (::windows
::core
::Interface
::vtable(this
).Data
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
826 #[doc = "*Required features: `\"Storage_Streams\"`*"]
827 #[cfg(feature = "Storage_Streams")]
828 pub fn SetData
<P0
>(&self, value
: P0
) -> ::windows
::core
::Result
<()>
830 P0
: ::windows
::core
::TryIntoParam
<super::super::super::Storage
::Streams
::IBuffer
>,
833 unsafe { (::windows::core::Interface::vtable(this).SetData)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
835 #[doc = "*Required features: `\"Storage_Streams\"`*"]
836 #[cfg(feature = "Storage_Streams")]
837 pub fn Create
<P0
>(datatype
: u8, data
: P0
) -> ::windows
::core
::Result
<BluetoothLEAdvertisementDataSection
>
839 P0
: ::windows
::core
::TryIntoParam
<super::super::super::Storage
::Streams
::IBuffer
>,
841 Self::IBluetoothLEAdvertisementDataSectionFactory(|this
| unsafe {
842 let mut result__
= ::windows
::core
::zeroed
::<BluetoothLEAdvertisementDataSection
>();
843 (::windows
::core
::Interface
::vtable(this
).Create
)(::windows
::core
::Interface
::as_raw(this
), datatype
, data
.try_into_param()?
.abi(), &mut result__
).from_abi(result__
)
847 pub fn IBluetoothLEAdvertisementDataSectionFactory
<R
, F
: FnOnce(&IBluetoothLEAdvertisementDataSectionFactory
) -> ::windows
::core
::Result
<R
>>(callback
: F
) -> ::windows
::core
::Result
<R
> {
848 static SHARED
: ::windows
::imp
::FactoryCache
<BluetoothLEAdvertisementDataSection
, IBluetoothLEAdvertisementDataSectionFactory
> = ::windows
::imp
::FactoryCache
::new();
849 SHARED
.call(callback
)
852 impl ::core
::cmp
::PartialEq
for BluetoothLEAdvertisementDataSection
{
853 fn eq(&self, other
: &Self) -> bool
{
857 impl ::core
::cmp
::Eq
for BluetoothLEAdvertisementDataSection {}
858 impl ::core
::fmt
::Debug
for BluetoothLEAdvertisementDataSection
{
859 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
860 f
.debug_tuple("BluetoothLEAdvertisementDataSection").field(&self.0).finish()
863 impl ::windows
::core
::RuntimeType
for BluetoothLEAdvertisementDataSection
{
864 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"rc(Windows.Devices.Bluetooth.Advertisement.BluetoothLEAdvertisementDataSection;{d7213314-3a43-40f9-b6f0-92bfefc34ae3})");
866 impl ::core
::clone
::Clone
for BluetoothLEAdvertisementDataSection
{
867 fn clone(&self) -> Self {
871 unsafe impl ::windows
::core
::Interface
for BluetoothLEAdvertisementDataSection
{
872 type Vtable
= IBluetoothLEAdvertisementDataSection_Vtbl
;
874 unsafe impl ::windows
::core
::ComInterface
for BluetoothLEAdvertisementDataSection
{
875 const IID
: ::windows
::core
::GUID
= <IBluetoothLEAdvertisementDataSection
as ::windows
::core
::ComInterface
>::IID
;
877 impl ::windows
::core
::RuntimeName
for BluetoothLEAdvertisementDataSection
{
878 const NAME
: &'
static str = "Windows.Devices.Bluetooth.Advertisement.BluetoothLEAdvertisementDataSection";
880 ::windows
::imp
::interface_hierarchy
!(BluetoothLEAdvertisementDataSection
, ::windows
::core
::IUnknown
, ::windows
::core
::IInspectable
);
881 unsafe impl ::core
::marker
::Send
for BluetoothLEAdvertisementDataSection {}
882 unsafe impl ::core
::marker
::Sync
for BluetoothLEAdvertisementDataSection {}
883 #[doc = "*Required features: `\"Devices_Bluetooth_Advertisement\"`*"]
884 pub struct BluetoothLEAdvertisementDataTypes
;
885 impl BluetoothLEAdvertisementDataTypes
{
886 pub fn Flags() -> ::windows
::core
::Result
<u8> {
887 Self::IBluetoothLEAdvertisementDataTypesStatics(|this
| unsafe {
888 let mut result__
= ::windows
::core
::zeroed
::<u8>();
889 (::windows
::core
::Interface
::vtable(this
).Flags
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
892 pub fn IncompleteService16BitUuids() -> ::windows
::core
::Result
<u8> {
893 Self::IBluetoothLEAdvertisementDataTypesStatics(|this
| unsafe {
894 let mut result__
= ::windows
::core
::zeroed
::<u8>();
895 (::windows
::core
::Interface
::vtable(this
).IncompleteService16BitUuids
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
898 pub fn CompleteService16BitUuids() -> ::windows
::core
::Result
<u8> {
899 Self::IBluetoothLEAdvertisementDataTypesStatics(|this
| unsafe {
900 let mut result__
= ::windows
::core
::zeroed
::<u8>();
901 (::windows
::core
::Interface
::vtable(this
).CompleteService16BitUuids
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
904 pub fn IncompleteService32BitUuids() -> ::windows
::core
::Result
<u8> {
905 Self::IBluetoothLEAdvertisementDataTypesStatics(|this
| unsafe {
906 let mut result__
= ::windows
::core
::zeroed
::<u8>();
907 (::windows
::core
::Interface
::vtable(this
).IncompleteService32BitUuids
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
910 pub fn CompleteService32BitUuids() -> ::windows
::core
::Result
<u8> {
911 Self::IBluetoothLEAdvertisementDataTypesStatics(|this
| unsafe {
912 let mut result__
= ::windows
::core
::zeroed
::<u8>();
913 (::windows
::core
::Interface
::vtable(this
).CompleteService32BitUuids
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
916 pub fn IncompleteService128BitUuids() -> ::windows
::core
::Result
<u8> {
917 Self::IBluetoothLEAdvertisementDataTypesStatics(|this
| unsafe {
918 let mut result__
= ::windows
::core
::zeroed
::<u8>();
919 (::windows
::core
::Interface
::vtable(this
).IncompleteService128BitUuids
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
922 pub fn CompleteService128BitUuids() -> ::windows
::core
::Result
<u8> {
923 Self::IBluetoothLEAdvertisementDataTypesStatics(|this
| unsafe {
924 let mut result__
= ::windows
::core
::zeroed
::<u8>();
925 (::windows
::core
::Interface
::vtable(this
).CompleteService128BitUuids
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
928 pub fn ShortenedLocalName() -> ::windows
::core
::Result
<u8> {
929 Self::IBluetoothLEAdvertisementDataTypesStatics(|this
| unsafe {
930 let mut result__
= ::windows
::core
::zeroed
::<u8>();
931 (::windows
::core
::Interface
::vtable(this
).ShortenedLocalName
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
934 pub fn CompleteLocalName() -> ::windows
::core
::Result
<u8> {
935 Self::IBluetoothLEAdvertisementDataTypesStatics(|this
| unsafe {
936 let mut result__
= ::windows
::core
::zeroed
::<u8>();
937 (::windows
::core
::Interface
::vtable(this
).CompleteLocalName
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
940 pub fn TxPowerLevel() -> ::windows
::core
::Result
<u8> {
941 Self::IBluetoothLEAdvertisementDataTypesStatics(|this
| unsafe {
942 let mut result__
= ::windows
::core
::zeroed
::<u8>();
943 (::windows
::core
::Interface
::vtable(this
).TxPowerLevel
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
946 pub fn PeripheralConnectionIntervalRange() -> ::windows
::core
::Result
<u8> {
947 Self::IBluetoothLEAdvertisementDataTypesStatics(|this
| unsafe {
948 let mut result__
= ::windows
::core
::zeroed
::<u8>();
949 (::windows
::core
::Interface
::vtable(this
).PeripheralConnectionIntervalRange
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
952 pub fn ServiceSolicitation16BitUuids() -> ::windows
::core
::Result
<u8> {
953 Self::IBluetoothLEAdvertisementDataTypesStatics(|this
| unsafe {
954 let mut result__
= ::windows
::core
::zeroed
::<u8>();
955 (::windows
::core
::Interface
::vtable(this
).ServiceSolicitation16BitUuids
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
958 pub fn ServiceSolicitation32BitUuids() -> ::windows
::core
::Result
<u8> {
959 Self::IBluetoothLEAdvertisementDataTypesStatics(|this
| unsafe {
960 let mut result__
= ::windows
::core
::zeroed
::<u8>();
961 (::windows
::core
::Interface
::vtable(this
).ServiceSolicitation32BitUuids
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
964 pub fn ServiceSolicitation128BitUuids() -> ::windows
::core
::Result
<u8> {
965 Self::IBluetoothLEAdvertisementDataTypesStatics(|this
| unsafe {
966 let mut result__
= ::windows
::core
::zeroed
::<u8>();
967 (::windows
::core
::Interface
::vtable(this
).ServiceSolicitation128BitUuids
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
970 pub fn ServiceData16BitUuids() -> ::windows
::core
::Result
<u8> {
971 Self::IBluetoothLEAdvertisementDataTypesStatics(|this
| unsafe {
972 let mut result__
= ::windows
::core
::zeroed
::<u8>();
973 (::windows
::core
::Interface
::vtable(this
).ServiceData16BitUuids
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
976 pub fn ServiceData32BitUuids() -> ::windows
::core
::Result
<u8> {
977 Self::IBluetoothLEAdvertisementDataTypesStatics(|this
| unsafe {
978 let mut result__
= ::windows
::core
::zeroed
::<u8>();
979 (::windows
::core
::Interface
::vtable(this
).ServiceData32BitUuids
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
982 pub fn ServiceData128BitUuids() -> ::windows
::core
::Result
<u8> {
983 Self::IBluetoothLEAdvertisementDataTypesStatics(|this
| unsafe {
984 let mut result__
= ::windows
::core
::zeroed
::<u8>();
985 (::windows
::core
::Interface
::vtable(this
).ServiceData128BitUuids
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
988 pub fn PublicTargetAddress() -> ::windows
::core
::Result
<u8> {
989 Self::IBluetoothLEAdvertisementDataTypesStatics(|this
| unsafe {
990 let mut result__
= ::windows
::core
::zeroed
::<u8>();
991 (::windows
::core
::Interface
::vtable(this
).PublicTargetAddress
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
994 pub fn RandomTargetAddress() -> ::windows
::core
::Result
<u8> {
995 Self::IBluetoothLEAdvertisementDataTypesStatics(|this
| unsafe {
996 let mut result__
= ::windows
::core
::zeroed
::<u8>();
997 (::windows
::core
::Interface
::vtable(this
).RandomTargetAddress
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1000 pub fn Appearance() -> ::windows
::core
::Result
<u8> {
1001 Self::IBluetoothLEAdvertisementDataTypesStatics(|this
| unsafe {
1002 let mut result__
= ::windows
::core
::zeroed
::<u8>();
1003 (::windows
::core
::Interface
::vtable(this
).Appearance
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1006 pub fn AdvertisingInterval() -> ::windows
::core
::Result
<u8> {
1007 Self::IBluetoothLEAdvertisementDataTypesStatics(|this
| unsafe {
1008 let mut result__
= ::windows
::core
::zeroed
::<u8>();
1009 (::windows
::core
::Interface
::vtable(this
).AdvertisingInterval
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1012 pub fn ManufacturerSpecificData() -> ::windows
::core
::Result
<u8> {
1013 Self::IBluetoothLEAdvertisementDataTypesStatics(|this
| unsafe {
1014 let mut result__
= ::windows
::core
::zeroed
::<u8>();
1015 (::windows
::core
::Interface
::vtable(this
).ManufacturerSpecificData
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1019 pub fn IBluetoothLEAdvertisementDataTypesStatics
<R
, F
: FnOnce(&IBluetoothLEAdvertisementDataTypesStatics
) -> ::windows
::core
::Result
<R
>>(callback
: F
) -> ::windows
::core
::Result
<R
> {
1020 static SHARED
: ::windows
::imp
::FactoryCache
<BluetoothLEAdvertisementDataTypes
, IBluetoothLEAdvertisementDataTypesStatics
> = ::windows
::imp
::FactoryCache
::new();
1021 SHARED
.call(callback
)
1024 impl ::windows
::core
::RuntimeName
for BluetoothLEAdvertisementDataTypes
{
1025 const NAME
: &'
static str = "Windows.Devices.Bluetooth.Advertisement.BluetoothLEAdvertisementDataTypes";
1027 #[doc = "*Required features: `\"Devices_Bluetooth_Advertisement\"`*"]
1028 #[repr(transparent)]
1029 pub struct BluetoothLEAdvertisementFilter(::windows
::core
::IUnknown
);
1030 impl BluetoothLEAdvertisementFilter
{
1031 pub fn new() -> ::windows
::core
::Result
<Self> {
1032 Self::IActivationFactory(|f
| f
.ActivateInstance
::<Self>())
1034 fn IActivationFactory
<R
, F
: FnOnce(&::windows
::imp
::IGenericFactory
) -> ::windows
::core
::Result
<R
>>(callback
: F
) -> ::windows
::core
::Result
<R
> {
1035 static SHARED
: ::windows
::imp
::FactoryCache
<BluetoothLEAdvertisementFilter
, ::windows
::imp
::IGenericFactory
> = ::windows
::imp
::FactoryCache
::new();
1036 SHARED
.call(callback
)
1038 pub fn Advertisement(&self) -> ::windows
::core
::Result
<BluetoothLEAdvertisement
> {
1041 let mut result__
= ::windows
::core
::zeroed
::<BluetoothLEAdvertisement
>();
1042 (::windows
::core
::Interface
::vtable(this
).Advertisement
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1045 pub fn SetAdvertisement(&self, value
: &BluetoothLEAdvertisement
) -> ::windows
::core
::Result
<()> {
1047 unsafe { (::windows::core::Interface::vtable(this).SetAdvertisement)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
1049 #[doc = "*Required features: `\"Foundation_Collections\"`*"]
1050 #[cfg(feature = "Foundation_Collections")]
1051 pub fn BytePatterns(&self) -> ::windows
::core
::Result
<super::super::super::Foundation
::Collections
::IVector
<BluetoothLEAdvertisementBytePattern
>> {
1054 let mut result__
= ::windows
::core
::zeroed
::<super::super::super::Foundation
::Collections
::IVector
<BluetoothLEAdvertisementBytePattern
>>();
1055 (::windows
::core
::Interface
::vtable(this
).BytePatterns
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1059 impl ::core
::cmp
::PartialEq
for BluetoothLEAdvertisementFilter
{
1060 fn eq(&self, other
: &Self) -> bool
{
1064 impl ::core
::cmp
::Eq
for BluetoothLEAdvertisementFilter {}
1065 impl ::core
::fmt
::Debug
for BluetoothLEAdvertisementFilter
{
1066 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
1067 f
.debug_tuple("BluetoothLEAdvertisementFilter").field(&self.0).finish()
1070 impl ::windows
::core
::RuntimeType
for BluetoothLEAdvertisementFilter
{
1071 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"rc(Windows.Devices.Bluetooth.Advertisement.BluetoothLEAdvertisementFilter;{131eb0d3-d04e-47b1-837e-49405bf6f80f})");
1073 impl ::core
::clone
::Clone
for BluetoothLEAdvertisementFilter
{
1074 fn clone(&self) -> Self {
1075 Self(self.0.clone())
1078 unsafe impl ::windows
::core
::Interface
for BluetoothLEAdvertisementFilter
{
1079 type Vtable
= IBluetoothLEAdvertisementFilter_Vtbl
;
1081 unsafe impl ::windows
::core
::ComInterface
for BluetoothLEAdvertisementFilter
{
1082 const IID
: ::windows
::core
::GUID
= <IBluetoothLEAdvertisementFilter
as ::windows
::core
::ComInterface
>::IID
;
1084 impl ::windows
::core
::RuntimeName
for BluetoothLEAdvertisementFilter
{
1085 const NAME
: &'
static str = "Windows.Devices.Bluetooth.Advertisement.BluetoothLEAdvertisementFilter";
1087 ::windows
::imp
::interface_hierarchy
!(BluetoothLEAdvertisementFilter
, ::windows
::core
::IUnknown
, ::windows
::core
::IInspectable
);
1088 unsafe impl ::core
::marker
::Send
for BluetoothLEAdvertisementFilter {}
1089 unsafe impl ::core
::marker
::Sync
for BluetoothLEAdvertisementFilter {}
1090 #[doc = "*Required features: `\"Devices_Bluetooth_Advertisement\"`*"]
1091 #[repr(transparent)]
1092 pub struct BluetoothLEAdvertisementPublisher(::windows
::core
::IUnknown
);
1093 impl BluetoothLEAdvertisementPublisher
{
1094 pub fn new() -> ::windows
::core
::Result
<Self> {
1095 Self::IActivationFactory(|f
| f
.ActivateInstance
::<Self>())
1097 fn IActivationFactory
<R
, F
: FnOnce(&::windows
::imp
::IGenericFactory
) -> ::windows
::core
::Result
<R
>>(callback
: F
) -> ::windows
::core
::Result
<R
> {
1098 static SHARED
: ::windows
::imp
::FactoryCache
<BluetoothLEAdvertisementPublisher
, ::windows
::imp
::IGenericFactory
> = ::windows
::imp
::FactoryCache
::new();
1099 SHARED
.call(callback
)
1101 pub fn Status(&self) -> ::windows
::core
::Result
<BluetoothLEAdvertisementPublisherStatus
> {
1104 let mut result__
= ::windows
::core
::zeroed
::<BluetoothLEAdvertisementPublisherStatus
>();
1105 (::windows
::core
::Interface
::vtable(this
).Status
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1108 pub fn Advertisement(&self) -> ::windows
::core
::Result
<BluetoothLEAdvertisement
> {
1111 let mut result__
= ::windows
::core
::zeroed
::<BluetoothLEAdvertisement
>();
1112 (::windows
::core
::Interface
::vtable(this
).Advertisement
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1115 pub fn Start(&self) -> ::windows
::core
::Result
<()> {
1117 unsafe { (::windows::core::Interface::vtable(this).Start)(::windows::core::Interface::as_raw(this)).ok() }
1119 pub fn Stop(&self) -> ::windows
::core
::Result
<()> {
1121 unsafe { (::windows::core::Interface::vtable(this).Stop)(::windows::core::Interface::as_raw(this)).ok() }
1123 #[doc = "*Required features: `\"Foundation\"`*"]
1124 #[cfg(feature = "Foundation")]
1125 pub fn StatusChanged(&self, handler
: &super::super::super::Foundation
::TypedEventHandler
<BluetoothLEAdvertisementPublisher
, BluetoothLEAdvertisementPublisherStatusChangedEventArgs
>) -> ::windows
::core
::Result
<super::super::super::Foundation
::EventRegistrationToken
> {
1128 let mut result__
= ::windows
::core
::zeroed
::<super::super::super::Foundation
::EventRegistrationToken
>();
1129 (::windows
::core
::Interface
::vtable(this
).StatusChanged
)(::windows
::core
::Interface
::as_raw(this
), ::core
::mem
::transmute_copy(handler
), &mut result__
).from_abi(result__
)
1132 #[doc = "*Required features: `\"Foundation\"`*"]
1133 #[cfg(feature = "Foundation")]
1134 pub fn RemoveStatusChanged(&self, token
: super::super::super::Foundation
::EventRegistrationToken
) -> ::windows
::core
::Result
<()> {
1136 unsafe { (::windows::core::Interface::vtable(this).RemoveStatusChanged)(::windows::core::Interface::as_raw(this), token).ok() }
1138 #[doc = "*Required features: `\"Foundation\"`*"]
1139 #[cfg(feature = "Foundation")]
1140 pub fn PreferredTransmitPowerLevelInDBm(&self) -> ::windows
::core
::Result
<super::super::super::Foundation
::IReference
<i16>> {
1141 let this
= &::windows
::core
::ComInterface
::cast
::<IBluetoothLEAdvertisementPublisher2
>(self)?
;
1143 let mut result__
= ::windows
::core
::zeroed
::<super::super::super::Foundation
::IReference
<i16>>();
1144 (::windows
::core
::Interface
::vtable(this
).PreferredTransmitPowerLevelInDBm
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1147 #[doc = "*Required features: `\"Foundation\"`*"]
1148 #[cfg(feature = "Foundation")]
1149 pub fn SetPreferredTransmitPowerLevelInDBm
<P0
>(&self, value
: P0
) -> ::windows
::core
::Result
<()>
1151 P0
: ::windows
::core
::TryIntoParam
<super::super::super::Foundation
::IReference
<i16>>,
1153 let this
= &::windows
::core
::ComInterface
::cast
::<IBluetoothLEAdvertisementPublisher2
>(self)?
;
1154 unsafe { (::windows::core::Interface::vtable(this).SetPreferredTransmitPowerLevelInDBm)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
1156 pub fn UseExtendedAdvertisement(&self) -> ::windows
::core
::Result
<bool
> {
1157 let this
= &::windows
::core
::ComInterface
::cast
::<IBluetoothLEAdvertisementPublisher2
>(self)?
;
1159 let mut result__
= ::windows
::core
::zeroed
::<bool
>();
1160 (::windows
::core
::Interface
::vtable(this
).UseExtendedAdvertisement
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1163 pub fn SetUseExtendedAdvertisement(&self, value
: bool
) -> ::windows
::core
::Result
<()> {
1164 let this
= &::windows
::core
::ComInterface
::cast
::<IBluetoothLEAdvertisementPublisher2
>(self)?
;
1165 unsafe { (::windows::core::Interface::vtable(this).SetUseExtendedAdvertisement)(::windows::core::Interface::as_raw(this), value).ok() }
1167 pub fn IsAnonymous(&self) -> ::windows
::core
::Result
<bool
> {
1168 let this
= &::windows
::core
::ComInterface
::cast
::<IBluetoothLEAdvertisementPublisher2
>(self)?
;
1170 let mut result__
= ::windows
::core
::zeroed
::<bool
>();
1171 (::windows
::core
::Interface
::vtable(this
).IsAnonymous
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1174 pub fn SetIsAnonymous(&self, value
: bool
) -> ::windows
::core
::Result
<()> {
1175 let this
= &::windows
::core
::ComInterface
::cast
::<IBluetoothLEAdvertisementPublisher2
>(self)?
;
1176 unsafe { (::windows::core::Interface::vtable(this).SetIsAnonymous)(::windows::core::Interface::as_raw(this), value).ok() }
1178 pub fn IncludeTransmitPowerLevel(&self) -> ::windows
::core
::Result
<bool
> {
1179 let this
= &::windows
::core
::ComInterface
::cast
::<IBluetoothLEAdvertisementPublisher2
>(self)?
;
1181 let mut result__
= ::windows
::core
::zeroed
::<bool
>();
1182 (::windows
::core
::Interface
::vtable(this
).IncludeTransmitPowerLevel
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1185 pub fn SetIncludeTransmitPowerLevel(&self, value
: bool
) -> ::windows
::core
::Result
<()> {
1186 let this
= &::windows
::core
::ComInterface
::cast
::<IBluetoothLEAdvertisementPublisher2
>(self)?
;
1187 unsafe { (::windows::core::Interface::vtable(this).SetIncludeTransmitPowerLevel)(::windows::core::Interface::as_raw(this), value).ok() }
1189 pub fn Create(advertisement
: &BluetoothLEAdvertisement
) -> ::windows
::core
::Result
<BluetoothLEAdvertisementPublisher
> {
1190 Self::IBluetoothLEAdvertisementPublisherFactory(|this
| unsafe {
1191 let mut result__
= ::windows
::core
::zeroed
::<BluetoothLEAdvertisementPublisher
>();
1192 (::windows
::core
::Interface
::vtable(this
).Create
)(::windows
::core
::Interface
::as_raw(this
), ::core
::mem
::transmute_copy(advertisement
), &mut result__
).from_abi(result__
)
1196 pub fn IBluetoothLEAdvertisementPublisherFactory
<R
, F
: FnOnce(&IBluetoothLEAdvertisementPublisherFactory
) -> ::windows
::core
::Result
<R
>>(callback
: F
) -> ::windows
::core
::Result
<R
> {
1197 static SHARED
: ::windows
::imp
::FactoryCache
<BluetoothLEAdvertisementPublisher
, IBluetoothLEAdvertisementPublisherFactory
> = ::windows
::imp
::FactoryCache
::new();
1198 SHARED
.call(callback
)
1201 impl ::core
::cmp
::PartialEq
for BluetoothLEAdvertisementPublisher
{
1202 fn eq(&self, other
: &Self) -> bool
{
1206 impl ::core
::cmp
::Eq
for BluetoothLEAdvertisementPublisher {}
1207 impl ::core
::fmt
::Debug
for BluetoothLEAdvertisementPublisher
{
1208 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
1209 f
.debug_tuple("BluetoothLEAdvertisementPublisher").field(&self.0).finish()
1212 impl ::windows
::core
::RuntimeType
for BluetoothLEAdvertisementPublisher
{
1213 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"rc(Windows.Devices.Bluetooth.Advertisement.BluetoothLEAdvertisementPublisher;{cde820f9-d9fa-43d6-a264-ddd8b7da8b78})");
1215 impl ::core
::clone
::Clone
for BluetoothLEAdvertisementPublisher
{
1216 fn clone(&self) -> Self {
1217 Self(self.0.clone())
1220 unsafe impl ::windows
::core
::Interface
for BluetoothLEAdvertisementPublisher
{
1221 type Vtable
= IBluetoothLEAdvertisementPublisher_Vtbl
;
1223 unsafe impl ::windows
::core
::ComInterface
for BluetoothLEAdvertisementPublisher
{
1224 const IID
: ::windows
::core
::GUID
= <IBluetoothLEAdvertisementPublisher
as ::windows
::core
::ComInterface
>::IID
;
1226 impl ::windows
::core
::RuntimeName
for BluetoothLEAdvertisementPublisher
{
1227 const NAME
: &'
static str = "Windows.Devices.Bluetooth.Advertisement.BluetoothLEAdvertisementPublisher";
1229 ::windows
::imp
::interface_hierarchy
!(BluetoothLEAdvertisementPublisher
, ::windows
::core
::IUnknown
, ::windows
::core
::IInspectable
);
1230 unsafe impl ::core
::marker
::Send
for BluetoothLEAdvertisementPublisher {}
1231 unsafe impl ::core
::marker
::Sync
for BluetoothLEAdvertisementPublisher {}
1232 #[doc = "*Required features: `\"Devices_Bluetooth_Advertisement\"`*"]
1233 #[repr(transparent)]
1234 pub struct BluetoothLEAdvertisementPublisherStatusChangedEventArgs(::windows
::core
::IUnknown
);
1235 impl BluetoothLEAdvertisementPublisherStatusChangedEventArgs
{
1236 pub fn Status(&self) -> ::windows
::core
::Result
<BluetoothLEAdvertisementPublisherStatus
> {
1239 let mut result__
= ::windows
::core
::zeroed
::<BluetoothLEAdvertisementPublisherStatus
>();
1240 (::windows
::core
::Interface
::vtable(this
).Status
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1243 pub fn Error(&self) -> ::windows
::core
::Result
<super::BluetoothError
> {
1246 let mut result__
= ::windows
::core
::zeroed
::<super::BluetoothError
>();
1247 (::windows
::core
::Interface
::vtable(this
).Error
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1250 #[doc = "*Required features: `\"Foundation\"`*"]
1251 #[cfg(feature = "Foundation")]
1252 pub fn SelectedTransmitPowerLevelInDBm(&self) -> ::windows
::core
::Result
<super::super::super::Foundation
::IReference
<i16>> {
1253 let this
= &::windows
::core
::ComInterface
::cast
::<IBluetoothLEAdvertisementPublisherStatusChangedEventArgs2
>(self)?
;
1255 let mut result__
= ::windows
::core
::zeroed
::<super::super::super::Foundation
::IReference
<i16>>();
1256 (::windows
::core
::Interface
::vtable(this
).SelectedTransmitPowerLevelInDBm
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1260 impl ::core
::cmp
::PartialEq
for BluetoothLEAdvertisementPublisherStatusChangedEventArgs
{
1261 fn eq(&self, other
: &Self) -> bool
{
1265 impl ::core
::cmp
::Eq
for BluetoothLEAdvertisementPublisherStatusChangedEventArgs {}
1266 impl ::core
::fmt
::Debug
for BluetoothLEAdvertisementPublisherStatusChangedEventArgs
{
1267 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
1268 f
.debug_tuple("BluetoothLEAdvertisementPublisherStatusChangedEventArgs").field(&self.0).finish()
1271 impl ::windows
::core
::RuntimeType
for BluetoothLEAdvertisementPublisherStatusChangedEventArgs
{
1272 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"rc(Windows.Devices.Bluetooth.Advertisement.BluetoothLEAdvertisementPublisherStatusChangedEventArgs;{09c2bd9f-2dff-4b23-86ee-0d14fb94aeae})");
1274 impl ::core
::clone
::Clone
for BluetoothLEAdvertisementPublisherStatusChangedEventArgs
{
1275 fn clone(&self) -> Self {
1276 Self(self.0.clone())
1279 unsafe impl ::windows
::core
::Interface
for BluetoothLEAdvertisementPublisherStatusChangedEventArgs
{
1280 type Vtable
= IBluetoothLEAdvertisementPublisherStatusChangedEventArgs_Vtbl
;
1282 unsafe impl ::windows
::core
::ComInterface
for BluetoothLEAdvertisementPublisherStatusChangedEventArgs
{
1283 const IID
: ::windows
::core
::GUID
= <IBluetoothLEAdvertisementPublisherStatusChangedEventArgs
as ::windows
::core
::ComInterface
>::IID
;
1285 impl ::windows
::core
::RuntimeName
for BluetoothLEAdvertisementPublisherStatusChangedEventArgs
{
1286 const NAME
: &'
static str = "Windows.Devices.Bluetooth.Advertisement.BluetoothLEAdvertisementPublisherStatusChangedEventArgs";
1288 ::windows
::imp
::interface_hierarchy
!(BluetoothLEAdvertisementPublisherStatusChangedEventArgs
, ::windows
::core
::IUnknown
, ::windows
::core
::IInspectable
);
1289 unsafe impl ::core
::marker
::Send
for BluetoothLEAdvertisementPublisherStatusChangedEventArgs {}
1290 unsafe impl ::core
::marker
::Sync
for BluetoothLEAdvertisementPublisherStatusChangedEventArgs {}
1291 #[doc = "*Required features: `\"Devices_Bluetooth_Advertisement\"`*"]
1292 #[repr(transparent)]
1293 pub struct BluetoothLEAdvertisementReceivedEventArgs(::windows
::core
::IUnknown
);
1294 impl BluetoothLEAdvertisementReceivedEventArgs
{
1295 pub fn RawSignalStrengthInDBm(&self) -> ::windows
::core
::Result
<i16> {
1298 let mut result__
= ::windows
::core
::zeroed
::<i16>();
1299 (::windows
::core
::Interface
::vtable(this
).RawSignalStrengthInDBm
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1302 pub fn BluetoothAddress(&self) -> ::windows
::core
::Result
<u64> {
1305 let mut result__
= ::windows
::core
::zeroed
::<u64>();
1306 (::windows
::core
::Interface
::vtable(this
).BluetoothAddress
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1309 pub fn AdvertisementType(&self) -> ::windows
::core
::Result
<BluetoothLEAdvertisementType
> {
1312 let mut result__
= ::windows
::core
::zeroed
::<BluetoothLEAdvertisementType
>();
1313 (::windows
::core
::Interface
::vtable(this
).AdvertisementType
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1316 #[doc = "*Required features: `\"Foundation\"`*"]
1317 #[cfg(feature = "Foundation")]
1318 pub fn Timestamp(&self) -> ::windows
::core
::Result
<super::super::super::Foundation
::DateTime
> {
1321 let mut result__
= ::windows
::core
::zeroed
::<super::super::super::Foundation
::DateTime
>();
1322 (::windows
::core
::Interface
::vtable(this
).Timestamp
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1325 pub fn Advertisement(&self) -> ::windows
::core
::Result
<BluetoothLEAdvertisement
> {
1328 let mut result__
= ::windows
::core
::zeroed
::<BluetoothLEAdvertisement
>();
1329 (::windows
::core
::Interface
::vtable(this
).Advertisement
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1332 pub fn BluetoothAddressType(&self) -> ::windows
::core
::Result
<super::BluetoothAddressType
> {
1333 let this
= &::windows
::core
::ComInterface
::cast
::<IBluetoothLEAdvertisementReceivedEventArgs2
>(self)?
;
1335 let mut result__
= ::windows
::core
::zeroed
::<super::BluetoothAddressType
>();
1336 (::windows
::core
::Interface
::vtable(this
).BluetoothAddressType
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1339 #[doc = "*Required features: `\"Foundation\"`*"]
1340 #[cfg(feature = "Foundation")]
1341 pub fn TransmitPowerLevelInDBm(&self) -> ::windows
::core
::Result
<super::super::super::Foundation
::IReference
<i16>> {
1342 let this
= &::windows
::core
::ComInterface
::cast
::<IBluetoothLEAdvertisementReceivedEventArgs2
>(self)?
;
1344 let mut result__
= ::windows
::core
::zeroed
::<super::super::super::Foundation
::IReference
<i16>>();
1345 (::windows
::core
::Interface
::vtable(this
).TransmitPowerLevelInDBm
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1348 pub fn IsAnonymous(&self) -> ::windows
::core
::Result
<bool
> {
1349 let this
= &::windows
::core
::ComInterface
::cast
::<IBluetoothLEAdvertisementReceivedEventArgs2
>(self)?
;
1351 let mut result__
= ::windows
::core
::zeroed
::<bool
>();
1352 (::windows
::core
::Interface
::vtable(this
).IsAnonymous
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1355 pub fn IsConnectable(&self) -> ::windows
::core
::Result
<bool
> {
1356 let this
= &::windows
::core
::ComInterface
::cast
::<IBluetoothLEAdvertisementReceivedEventArgs2
>(self)?
;
1358 let mut result__
= ::windows
::core
::zeroed
::<bool
>();
1359 (::windows
::core
::Interface
::vtable(this
).IsConnectable
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1362 pub fn IsScannable(&self) -> ::windows
::core
::Result
<bool
> {
1363 let this
= &::windows
::core
::ComInterface
::cast
::<IBluetoothLEAdvertisementReceivedEventArgs2
>(self)?
;
1365 let mut result__
= ::windows
::core
::zeroed
::<bool
>();
1366 (::windows
::core
::Interface
::vtable(this
).IsScannable
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1369 pub fn IsDirected(&self) -> ::windows
::core
::Result
<bool
> {
1370 let this
= &::windows
::core
::ComInterface
::cast
::<IBluetoothLEAdvertisementReceivedEventArgs2
>(self)?
;
1372 let mut result__
= ::windows
::core
::zeroed
::<bool
>();
1373 (::windows
::core
::Interface
::vtable(this
).IsDirected
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1376 pub fn IsScanResponse(&self) -> ::windows
::core
::Result
<bool
> {
1377 let this
= &::windows
::core
::ComInterface
::cast
::<IBluetoothLEAdvertisementReceivedEventArgs2
>(self)?
;
1379 let mut result__
= ::windows
::core
::zeroed
::<bool
>();
1380 (::windows
::core
::Interface
::vtable(this
).IsScanResponse
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1384 impl ::core
::cmp
::PartialEq
for BluetoothLEAdvertisementReceivedEventArgs
{
1385 fn eq(&self, other
: &Self) -> bool
{
1389 impl ::core
::cmp
::Eq
for BluetoothLEAdvertisementReceivedEventArgs {}
1390 impl ::core
::fmt
::Debug
for BluetoothLEAdvertisementReceivedEventArgs
{
1391 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
1392 f
.debug_tuple("BluetoothLEAdvertisementReceivedEventArgs").field(&self.0).finish()
1395 impl ::windows
::core
::RuntimeType
for BluetoothLEAdvertisementReceivedEventArgs
{
1396 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"rc(Windows.Devices.Bluetooth.Advertisement.BluetoothLEAdvertisementReceivedEventArgs;{27987ddf-e596-41be-8d43-9e6731d4a913})");
1398 impl ::core
::clone
::Clone
for BluetoothLEAdvertisementReceivedEventArgs
{
1399 fn clone(&self) -> Self {
1400 Self(self.0.clone())
1403 unsafe impl ::windows
::core
::Interface
for BluetoothLEAdvertisementReceivedEventArgs
{
1404 type Vtable
= IBluetoothLEAdvertisementReceivedEventArgs_Vtbl
;
1406 unsafe impl ::windows
::core
::ComInterface
for BluetoothLEAdvertisementReceivedEventArgs
{
1407 const IID
: ::windows
::core
::GUID
= <IBluetoothLEAdvertisementReceivedEventArgs
as ::windows
::core
::ComInterface
>::IID
;
1409 impl ::windows
::core
::RuntimeName
for BluetoothLEAdvertisementReceivedEventArgs
{
1410 const NAME
: &'
static str = "Windows.Devices.Bluetooth.Advertisement.BluetoothLEAdvertisementReceivedEventArgs";
1412 ::windows
::imp
::interface_hierarchy
!(BluetoothLEAdvertisementReceivedEventArgs
, ::windows
::core
::IUnknown
, ::windows
::core
::IInspectable
);
1413 unsafe impl ::core
::marker
::Send
for BluetoothLEAdvertisementReceivedEventArgs {}
1414 unsafe impl ::core
::marker
::Sync
for BluetoothLEAdvertisementReceivedEventArgs {}
1415 #[doc = "*Required features: `\"Devices_Bluetooth_Advertisement\"`*"]
1416 #[repr(transparent)]
1417 pub struct BluetoothLEAdvertisementWatcher(::windows
::core
::IUnknown
);
1418 impl BluetoothLEAdvertisementWatcher
{
1419 pub fn new() -> ::windows
::core
::Result
<Self> {
1420 Self::IActivationFactory(|f
| f
.ActivateInstance
::<Self>())
1422 fn IActivationFactory
<R
, F
: FnOnce(&::windows
::imp
::IGenericFactory
) -> ::windows
::core
::Result
<R
>>(callback
: F
) -> ::windows
::core
::Result
<R
> {
1423 static SHARED
: ::windows
::imp
::FactoryCache
<BluetoothLEAdvertisementWatcher
, ::windows
::imp
::IGenericFactory
> = ::windows
::imp
::FactoryCache
::new();
1424 SHARED
.call(callback
)
1426 #[doc = "*Required features: `\"Foundation\"`*"]
1427 #[cfg(feature = "Foundation")]
1428 pub fn MinSamplingInterval(&self) -> ::windows
::core
::Result
<super::super::super::Foundation
::TimeSpan
> {
1431 let mut result__
= ::windows
::core
::zeroed
::<super::super::super::Foundation
::TimeSpan
>();
1432 (::windows
::core
::Interface
::vtable(this
).MinSamplingInterval
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1435 #[doc = "*Required features: `\"Foundation\"`*"]
1436 #[cfg(feature = "Foundation")]
1437 pub fn MaxSamplingInterval(&self) -> ::windows
::core
::Result
<super::super::super::Foundation
::TimeSpan
> {
1440 let mut result__
= ::windows
::core
::zeroed
::<super::super::super::Foundation
::TimeSpan
>();
1441 (::windows
::core
::Interface
::vtable(this
).MaxSamplingInterval
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1444 #[doc = "*Required features: `\"Foundation\"`*"]
1445 #[cfg(feature = "Foundation")]
1446 pub fn MinOutOfRangeTimeout(&self) -> ::windows
::core
::Result
<super::super::super::Foundation
::TimeSpan
> {
1449 let mut result__
= ::windows
::core
::zeroed
::<super::super::super::Foundation
::TimeSpan
>();
1450 (::windows
::core
::Interface
::vtable(this
).MinOutOfRangeTimeout
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1453 #[doc = "*Required features: `\"Foundation\"`*"]
1454 #[cfg(feature = "Foundation")]
1455 pub fn MaxOutOfRangeTimeout(&self) -> ::windows
::core
::Result
<super::super::super::Foundation
::TimeSpan
> {
1458 let mut result__
= ::windows
::core
::zeroed
::<super::super::super::Foundation
::TimeSpan
>();
1459 (::windows
::core
::Interface
::vtable(this
).MaxOutOfRangeTimeout
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1462 pub fn Status(&self) -> ::windows
::core
::Result
<BluetoothLEAdvertisementWatcherStatus
> {
1465 let mut result__
= ::windows
::core
::zeroed
::<BluetoothLEAdvertisementWatcherStatus
>();
1466 (::windows
::core
::Interface
::vtable(this
).Status
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1469 pub fn ScanningMode(&self) -> ::windows
::core
::Result
<BluetoothLEScanningMode
> {
1472 let mut result__
= ::windows
::core
::zeroed
::<BluetoothLEScanningMode
>();
1473 (::windows
::core
::Interface
::vtable(this
).ScanningMode
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1476 pub fn SetScanningMode(&self, value
: BluetoothLEScanningMode
) -> ::windows
::core
::Result
<()> {
1478 unsafe { (::windows::core::Interface::vtable(this).SetScanningMode)(::windows::core::Interface::as_raw(this), value).ok() }
1480 pub fn SignalStrengthFilter(&self) -> ::windows
::core
::Result
<super::BluetoothSignalStrengthFilter
> {
1483 let mut result__
= ::windows
::core
::zeroed
::<super::BluetoothSignalStrengthFilter
>();
1484 (::windows
::core
::Interface
::vtable(this
).SignalStrengthFilter
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1487 pub fn SetSignalStrengthFilter(&self, value
: &super::BluetoothSignalStrengthFilter
) -> ::windows
::core
::Result
<()> {
1489 unsafe { (::windows::core::Interface::vtable(this).SetSignalStrengthFilter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
1491 pub fn AdvertisementFilter(&self) -> ::windows
::core
::Result
<BluetoothLEAdvertisementFilter
> {
1494 let mut result__
= ::windows
::core
::zeroed
::<BluetoothLEAdvertisementFilter
>();
1495 (::windows
::core
::Interface
::vtable(this
).AdvertisementFilter
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1498 pub fn SetAdvertisementFilter(&self, value
: &BluetoothLEAdvertisementFilter
) -> ::windows
::core
::Result
<()> {
1500 unsafe { (::windows::core::Interface::vtable(this).SetAdvertisementFilter)(::windows::core::Interface::as_raw(this), ::core::mem::transmute_copy(value)).ok() }
1502 pub fn Start(&self) -> ::windows
::core
::Result
<()> {
1504 unsafe { (::windows::core::Interface::vtable(this).Start)(::windows::core::Interface::as_raw(this)).ok() }
1506 pub fn Stop(&self) -> ::windows
::core
::Result
<()> {
1508 unsafe { (::windows::core::Interface::vtable(this).Stop)(::windows::core::Interface::as_raw(this)).ok() }
1510 #[doc = "*Required features: `\"Foundation\"`*"]
1511 #[cfg(feature = "Foundation")]
1512 pub fn Received(&self, handler
: &super::super::super::Foundation
::TypedEventHandler
<BluetoothLEAdvertisementWatcher
, BluetoothLEAdvertisementReceivedEventArgs
>) -> ::windows
::core
::Result
<super::super::super::Foundation
::EventRegistrationToken
> {
1515 let mut result__
= ::windows
::core
::zeroed
::<super::super::super::Foundation
::EventRegistrationToken
>();
1516 (::windows
::core
::Interface
::vtable(this
).Received
)(::windows
::core
::Interface
::as_raw(this
), ::core
::mem
::transmute_copy(handler
), &mut result__
).from_abi(result__
)
1519 #[doc = "*Required features: `\"Foundation\"`*"]
1520 #[cfg(feature = "Foundation")]
1521 pub fn RemoveReceived(&self, token
: super::super::super::Foundation
::EventRegistrationToken
) -> ::windows
::core
::Result
<()> {
1523 unsafe { (::windows::core::Interface::vtable(this).RemoveReceived)(::windows::core::Interface::as_raw(this), token).ok() }
1525 #[doc = "*Required features: `\"Foundation\"`*"]
1526 #[cfg(feature = "Foundation")]
1527 pub fn Stopped(&self, handler
: &super::super::super::Foundation
::TypedEventHandler
<BluetoothLEAdvertisementWatcher
, BluetoothLEAdvertisementWatcherStoppedEventArgs
>) -> ::windows
::core
::Result
<super::super::super::Foundation
::EventRegistrationToken
> {
1530 let mut result__
= ::windows
::core
::zeroed
::<super::super::super::Foundation
::EventRegistrationToken
>();
1531 (::windows
::core
::Interface
::vtable(this
).Stopped
)(::windows
::core
::Interface
::as_raw(this
), ::core
::mem
::transmute_copy(handler
), &mut result__
).from_abi(result__
)
1534 #[doc = "*Required features: `\"Foundation\"`*"]
1535 #[cfg(feature = "Foundation")]
1536 pub fn RemoveStopped(&self, token
: super::super::super::Foundation
::EventRegistrationToken
) -> ::windows
::core
::Result
<()> {
1538 unsafe { (::windows::core::Interface::vtable(this).RemoveStopped)(::windows::core::Interface::as_raw(this), token).ok() }
1540 pub fn AllowExtendedAdvertisements(&self) -> ::windows
::core
::Result
<bool
> {
1541 let this
= &::windows
::core
::ComInterface
::cast
::<IBluetoothLEAdvertisementWatcher2
>(self)?
;
1543 let mut result__
= ::windows
::core
::zeroed
::<bool
>();
1544 (::windows
::core
::Interface
::vtable(this
).AllowExtendedAdvertisements
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1547 pub fn SetAllowExtendedAdvertisements(&self, value
: bool
) -> ::windows
::core
::Result
<()> {
1548 let this
= &::windows
::core
::ComInterface
::cast
::<IBluetoothLEAdvertisementWatcher2
>(self)?
;
1549 unsafe { (::windows::core::Interface::vtable(this).SetAllowExtendedAdvertisements)(::windows::core::Interface::as_raw(this), value).ok() }
1551 pub fn Create(advertisementfilter
: &BluetoothLEAdvertisementFilter
) -> ::windows
::core
::Result
<BluetoothLEAdvertisementWatcher
> {
1552 Self::IBluetoothLEAdvertisementWatcherFactory(|this
| unsafe {
1553 let mut result__
= ::windows
::core
::zeroed
::<BluetoothLEAdvertisementWatcher
>();
1554 (::windows
::core
::Interface
::vtable(this
).Create
)(::windows
::core
::Interface
::as_raw(this
), ::core
::mem
::transmute_copy(advertisementfilter
), &mut result__
).from_abi(result__
)
1558 pub fn IBluetoothLEAdvertisementWatcherFactory
<R
, F
: FnOnce(&IBluetoothLEAdvertisementWatcherFactory
) -> ::windows
::core
::Result
<R
>>(callback
: F
) -> ::windows
::core
::Result
<R
> {
1559 static SHARED
: ::windows
::imp
::FactoryCache
<BluetoothLEAdvertisementWatcher
, IBluetoothLEAdvertisementWatcherFactory
> = ::windows
::imp
::FactoryCache
::new();
1560 SHARED
.call(callback
)
1563 impl ::core
::cmp
::PartialEq
for BluetoothLEAdvertisementWatcher
{
1564 fn eq(&self, other
: &Self) -> bool
{
1568 impl ::core
::cmp
::Eq
for BluetoothLEAdvertisementWatcher {}
1569 impl ::core
::fmt
::Debug
for BluetoothLEAdvertisementWatcher
{
1570 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
1571 f
.debug_tuple("BluetoothLEAdvertisementWatcher").field(&self.0).finish()
1574 impl ::windows
::core
::RuntimeType
for BluetoothLEAdvertisementWatcher
{
1575 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"rc(Windows.Devices.Bluetooth.Advertisement.BluetoothLEAdvertisementWatcher;{a6ac336f-f3d3-4297-8d6c-c81ea6623f40})");
1577 impl ::core
::clone
::Clone
for BluetoothLEAdvertisementWatcher
{
1578 fn clone(&self) -> Self {
1579 Self(self.0.clone())
1582 unsafe impl ::windows
::core
::Interface
for BluetoothLEAdvertisementWatcher
{
1583 type Vtable
= IBluetoothLEAdvertisementWatcher_Vtbl
;
1585 unsafe impl ::windows
::core
::ComInterface
for BluetoothLEAdvertisementWatcher
{
1586 const IID
: ::windows
::core
::GUID
= <IBluetoothLEAdvertisementWatcher
as ::windows
::core
::ComInterface
>::IID
;
1588 impl ::windows
::core
::RuntimeName
for BluetoothLEAdvertisementWatcher
{
1589 const NAME
: &'
static str = "Windows.Devices.Bluetooth.Advertisement.BluetoothLEAdvertisementWatcher";
1591 ::windows
::imp
::interface_hierarchy
!(BluetoothLEAdvertisementWatcher
, ::windows
::core
::IUnknown
, ::windows
::core
::IInspectable
);
1592 unsafe impl ::core
::marker
::Send
for BluetoothLEAdvertisementWatcher {}
1593 unsafe impl ::core
::marker
::Sync
for BluetoothLEAdvertisementWatcher {}
1594 #[doc = "*Required features: `\"Devices_Bluetooth_Advertisement\"`*"]
1595 #[repr(transparent)]
1596 pub struct BluetoothLEAdvertisementWatcherStoppedEventArgs(::windows
::core
::IUnknown
);
1597 impl BluetoothLEAdvertisementWatcherStoppedEventArgs
{
1598 pub fn Error(&self) -> ::windows
::core
::Result
<super::BluetoothError
> {
1601 let mut result__
= ::windows
::core
::zeroed
::<super::BluetoothError
>();
1602 (::windows
::core
::Interface
::vtable(this
).Error
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1606 impl ::core
::cmp
::PartialEq
for BluetoothLEAdvertisementWatcherStoppedEventArgs
{
1607 fn eq(&self, other
: &Self) -> bool
{
1611 impl ::core
::cmp
::Eq
for BluetoothLEAdvertisementWatcherStoppedEventArgs {}
1612 impl ::core
::fmt
::Debug
for BluetoothLEAdvertisementWatcherStoppedEventArgs
{
1613 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
1614 f
.debug_tuple("BluetoothLEAdvertisementWatcherStoppedEventArgs").field(&self.0).finish()
1617 impl ::windows
::core
::RuntimeType
for BluetoothLEAdvertisementWatcherStoppedEventArgs
{
1618 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"rc(Windows.Devices.Bluetooth.Advertisement.BluetoothLEAdvertisementWatcherStoppedEventArgs;{dd40f84d-e7b9-43e3-9c04-0685d085fd8c})");
1620 impl ::core
::clone
::Clone
for BluetoothLEAdvertisementWatcherStoppedEventArgs
{
1621 fn clone(&self) -> Self {
1622 Self(self.0.clone())
1625 unsafe impl ::windows
::core
::Interface
for BluetoothLEAdvertisementWatcherStoppedEventArgs
{
1626 type Vtable
= IBluetoothLEAdvertisementWatcherStoppedEventArgs_Vtbl
;
1628 unsafe impl ::windows
::core
::ComInterface
for BluetoothLEAdvertisementWatcherStoppedEventArgs
{
1629 const IID
: ::windows
::core
::GUID
= <IBluetoothLEAdvertisementWatcherStoppedEventArgs
as ::windows
::core
::ComInterface
>::IID
;
1631 impl ::windows
::core
::RuntimeName
for BluetoothLEAdvertisementWatcherStoppedEventArgs
{
1632 const NAME
: &'
static str = "Windows.Devices.Bluetooth.Advertisement.BluetoothLEAdvertisementWatcherStoppedEventArgs";
1634 ::windows
::imp
::interface_hierarchy
!(BluetoothLEAdvertisementWatcherStoppedEventArgs
, ::windows
::core
::IUnknown
, ::windows
::core
::IInspectable
);
1635 unsafe impl ::core
::marker
::Send
for BluetoothLEAdvertisementWatcherStoppedEventArgs {}
1636 unsafe impl ::core
::marker
::Sync
for BluetoothLEAdvertisementWatcherStoppedEventArgs {}
1637 #[doc = "*Required features: `\"Devices_Bluetooth_Advertisement\"`*"]
1638 #[repr(transparent)]
1639 pub struct BluetoothLEManufacturerData(::windows
::core
::IUnknown
);
1640 impl BluetoothLEManufacturerData
{
1641 pub fn new() -> ::windows
::core
::Result
<Self> {
1642 Self::IActivationFactory(|f
| f
.ActivateInstance
::<Self>())
1644 fn IActivationFactory
<R
, F
: FnOnce(&::windows
::imp
::IGenericFactory
) -> ::windows
::core
::Result
<R
>>(callback
: F
) -> ::windows
::core
::Result
<R
> {
1645 static SHARED
: ::windows
::imp
::FactoryCache
<BluetoothLEManufacturerData
, ::windows
::imp
::IGenericFactory
> = ::windows
::imp
::FactoryCache
::new();
1646 SHARED
.call(callback
)
1648 pub fn CompanyId(&self) -> ::windows
::core
::Result
<u16> {
1651 let mut result__
= ::windows
::core
::zeroed
::<u16>();
1652 (::windows
::core
::Interface
::vtable(this
).CompanyId
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1655 pub fn SetCompanyId(&self, value
: u16) -> ::windows
::core
::Result
<()> {
1657 unsafe { (::windows::core::Interface::vtable(this).SetCompanyId)(::windows::core::Interface::as_raw(this), value).ok() }
1659 #[doc = "*Required features: `\"Storage_Streams\"`*"]
1660 #[cfg(feature = "Storage_Streams")]
1661 pub fn Data(&self) -> ::windows
::core
::Result
<super::super::super::Storage
::Streams
::IBuffer
> {
1664 let mut result__
= ::windows
::core
::zeroed
::<super::super::super::Storage
::Streams
::IBuffer
>();
1665 (::windows
::core
::Interface
::vtable(this
).Data
)(::windows
::core
::Interface
::as_raw(this
), &mut result__
).from_abi(result__
)
1668 #[doc = "*Required features: `\"Storage_Streams\"`*"]
1669 #[cfg(feature = "Storage_Streams")]
1670 pub fn SetData
<P0
>(&self, value
: P0
) -> ::windows
::core
::Result
<()>
1672 P0
: ::windows
::core
::TryIntoParam
<super::super::super::Storage
::Streams
::IBuffer
>,
1675 unsafe { (::windows::core::Interface::vtable(this).SetData)(::windows::core::Interface::as_raw(this), value.try_into_param()?.abi()).ok() }
1677 #[doc = "*Required features: `\"Storage_Streams\"`*"]
1678 #[cfg(feature = "Storage_Streams")]
1679 pub fn Create
<P0
>(companyid
: u16, data
: P0
) -> ::windows
::core
::Result
<BluetoothLEManufacturerData
>
1681 P0
: ::windows
::core
::TryIntoParam
<super::super::super::Storage
::Streams
::IBuffer
>,
1683 Self::IBluetoothLEManufacturerDataFactory(|this
| unsafe {
1684 let mut result__
= ::windows
::core
::zeroed
::<BluetoothLEManufacturerData
>();
1685 (::windows
::core
::Interface
::vtable(this
).Create
)(::windows
::core
::Interface
::as_raw(this
), companyid
, data
.try_into_param()?
.abi(), &mut result__
).from_abi(result__
)
1689 pub fn IBluetoothLEManufacturerDataFactory
<R
, F
: FnOnce(&IBluetoothLEManufacturerDataFactory
) -> ::windows
::core
::Result
<R
>>(callback
: F
) -> ::windows
::core
::Result
<R
> {
1690 static SHARED
: ::windows
::imp
::FactoryCache
<BluetoothLEManufacturerData
, IBluetoothLEManufacturerDataFactory
> = ::windows
::imp
::FactoryCache
::new();
1691 SHARED
.call(callback
)
1694 impl ::core
::cmp
::PartialEq
for BluetoothLEManufacturerData
{
1695 fn eq(&self, other
: &Self) -> bool
{
1699 impl ::core
::cmp
::Eq
for BluetoothLEManufacturerData {}
1700 impl ::core
::fmt
::Debug
for BluetoothLEManufacturerData
{
1701 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
1702 f
.debug_tuple("BluetoothLEManufacturerData").field(&self.0).finish()
1705 impl ::windows
::core
::RuntimeType
for BluetoothLEManufacturerData
{
1706 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"rc(Windows.Devices.Bluetooth.Advertisement.BluetoothLEManufacturerData;{912dba18-6963-4533-b061-4694dafb34e5})");
1708 impl ::core
::clone
::Clone
for BluetoothLEManufacturerData
{
1709 fn clone(&self) -> Self {
1710 Self(self.0.clone())
1713 unsafe impl ::windows
::core
::Interface
for BluetoothLEManufacturerData
{
1714 type Vtable
= IBluetoothLEManufacturerData_Vtbl
;
1716 unsafe impl ::windows
::core
::ComInterface
for BluetoothLEManufacturerData
{
1717 const IID
: ::windows
::core
::GUID
= <IBluetoothLEManufacturerData
as ::windows
::core
::ComInterface
>::IID
;
1719 impl ::windows
::core
::RuntimeName
for BluetoothLEManufacturerData
{
1720 const NAME
: &'
static str = "Windows.Devices.Bluetooth.Advertisement.BluetoothLEManufacturerData";
1722 ::windows
::imp
::interface_hierarchy
!(BluetoothLEManufacturerData
, ::windows
::core
::IUnknown
, ::windows
::core
::IInspectable
);
1723 unsafe impl ::core
::marker
::Send
for BluetoothLEManufacturerData {}
1724 unsafe impl ::core
::marker
::Sync
for BluetoothLEManufacturerData {}
1725 #[doc = "*Required features: `\"Devices_Bluetooth_Advertisement\"`*"]
1726 #[repr(transparent)]
1727 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
1728 pub struct BluetoothLEAdvertisementFlags(pub u32);
1729 impl BluetoothLEAdvertisementFlags
{
1730 pub const None
: Self = Self(0u32);
1731 pub const LimitedDiscoverableMode
: Self = Self(1u32);
1732 pub const GeneralDiscoverableMode
: Self = Self(2u32);
1733 pub const ClassicNotSupported
: Self = Self(4u32);
1734 pub const DualModeControllerCapable
: Self = Self(8u32);
1735 pub const DualModeHostCapable
: Self = Self(16u32);
1737 impl ::core
::marker
::Copy
for BluetoothLEAdvertisementFlags {}
1738 impl ::core
::clone
::Clone
for BluetoothLEAdvertisementFlags
{
1739 fn clone(&self) -> Self {
1743 impl ::core
::default::Default
for BluetoothLEAdvertisementFlags
{
1744 fn default() -> Self {
1748 impl ::windows
::core
::TypeKind
for BluetoothLEAdvertisementFlags
{
1749 type TypeKind
= ::windows
::core
::CopyType
;
1751 impl ::core
::fmt
::Debug
for BluetoothLEAdvertisementFlags
{
1752 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
1753 f
.debug_tuple("BluetoothLEAdvertisementFlags").field(&self.0).finish()
1756 impl BluetoothLEAdvertisementFlags
{
1757 pub const fn contains(&self, other
: Self) -> bool
{
1758 self.0 & other
.0 == other
.0
1761 impl ::core
::ops
::BitOr
for BluetoothLEAdvertisementFlags
{
1763 fn bitor(self, other
: Self) -> Self {
1764 Self(self.0 | other
.0)
1767 impl ::core
::ops
::BitAnd
for BluetoothLEAdvertisementFlags
{
1769 fn bitand(self, other
: Self) -> Self {
1770 Self(self.0 & other
.0)
1773 impl ::core
::ops
::BitOrAssign
for BluetoothLEAdvertisementFlags
{
1774 fn bitor_assign(&mut self, other
: Self) {
1775 self.0.bitor_assign(other
.0)
1778 impl ::core
::ops
::BitAndAssign
for BluetoothLEAdvertisementFlags
{
1779 fn bitand_assign(&mut self, other
: Self) {
1780 self.0.bitand_assign(other
.0)
1783 impl ::core
::ops
::Not
for BluetoothLEAdvertisementFlags
{
1785 fn not(self) -> Self {
1789 impl ::windows
::core
::RuntimeType
for BluetoothLEAdvertisementFlags
{
1790 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"enum(Windows.Devices.Bluetooth.Advertisement.BluetoothLEAdvertisementFlags;u4)");
1792 #[doc = "*Required features: `\"Devices_Bluetooth_Advertisement\"`*"]
1793 #[repr(transparent)]
1794 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
1795 pub struct BluetoothLEAdvertisementPublisherStatus(pub i32);
1796 impl BluetoothLEAdvertisementPublisherStatus
{
1797 pub const Created
: Self = Self(0i32);
1798 pub const Waiting
: Self = Self(1i32);
1799 pub const Started
: Self = Self(2i32);
1800 pub const Stopping
: Self = Self(3i32);
1801 pub const Stopped
: Self = Self(4i32);
1802 pub const Aborted
: Self = Self(5i32);
1804 impl ::core
::marker
::Copy
for BluetoothLEAdvertisementPublisherStatus {}
1805 impl ::core
::clone
::Clone
for BluetoothLEAdvertisementPublisherStatus
{
1806 fn clone(&self) -> Self {
1810 impl ::core
::default::Default
for BluetoothLEAdvertisementPublisherStatus
{
1811 fn default() -> Self {
1815 impl ::windows
::core
::TypeKind
for BluetoothLEAdvertisementPublisherStatus
{
1816 type TypeKind
= ::windows
::core
::CopyType
;
1818 impl ::core
::fmt
::Debug
for BluetoothLEAdvertisementPublisherStatus
{
1819 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
1820 f
.debug_tuple("BluetoothLEAdvertisementPublisherStatus").field(&self.0).finish()
1823 impl ::windows
::core
::RuntimeType
for BluetoothLEAdvertisementPublisherStatus
{
1824 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"enum(Windows.Devices.Bluetooth.Advertisement.BluetoothLEAdvertisementPublisherStatus;i4)");
1826 #[doc = "*Required features: `\"Devices_Bluetooth_Advertisement\"`*"]
1827 #[repr(transparent)]
1828 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
1829 pub struct BluetoothLEAdvertisementType(pub i32);
1830 impl BluetoothLEAdvertisementType
{
1831 pub const ConnectableUndirected
: Self = Self(0i32);
1832 pub const ConnectableDirected
: Self = Self(1i32);
1833 pub const ScannableUndirected
: Self = Self(2i32);
1834 pub const NonConnectableUndirected
: Self = Self(3i32);
1835 pub const ScanResponse
: Self = Self(4i32);
1836 pub const Extended
: Self = Self(5i32);
1838 impl ::core
::marker
::Copy
for BluetoothLEAdvertisementType {}
1839 impl ::core
::clone
::Clone
for BluetoothLEAdvertisementType
{
1840 fn clone(&self) -> Self {
1844 impl ::core
::default::Default
for BluetoothLEAdvertisementType
{
1845 fn default() -> Self {
1849 impl ::windows
::core
::TypeKind
for BluetoothLEAdvertisementType
{
1850 type TypeKind
= ::windows
::core
::CopyType
;
1852 impl ::core
::fmt
::Debug
for BluetoothLEAdvertisementType
{
1853 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
1854 f
.debug_tuple("BluetoothLEAdvertisementType").field(&self.0).finish()
1857 impl ::windows
::core
::RuntimeType
for BluetoothLEAdvertisementType
{
1858 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"enum(Windows.Devices.Bluetooth.Advertisement.BluetoothLEAdvertisementType;i4)");
1860 #[doc = "*Required features: `\"Devices_Bluetooth_Advertisement\"`*"]
1861 #[repr(transparent)]
1862 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
1863 pub struct BluetoothLEAdvertisementWatcherStatus(pub i32);
1864 impl BluetoothLEAdvertisementWatcherStatus
{
1865 pub const Created
: Self = Self(0i32);
1866 pub const Started
: Self = Self(1i32);
1867 pub const Stopping
: Self = Self(2i32);
1868 pub const Stopped
: Self = Self(3i32);
1869 pub const Aborted
: Self = Self(4i32);
1871 impl ::core
::marker
::Copy
for BluetoothLEAdvertisementWatcherStatus {}
1872 impl ::core
::clone
::Clone
for BluetoothLEAdvertisementWatcherStatus
{
1873 fn clone(&self) -> Self {
1877 impl ::core
::default::Default
for BluetoothLEAdvertisementWatcherStatus
{
1878 fn default() -> Self {
1882 impl ::windows
::core
::TypeKind
for BluetoothLEAdvertisementWatcherStatus
{
1883 type TypeKind
= ::windows
::core
::CopyType
;
1885 impl ::core
::fmt
::Debug
for BluetoothLEAdvertisementWatcherStatus
{
1886 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
1887 f
.debug_tuple("BluetoothLEAdvertisementWatcherStatus").field(&self.0).finish()
1890 impl ::windows
::core
::RuntimeType
for BluetoothLEAdvertisementWatcherStatus
{
1891 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"enum(Windows.Devices.Bluetooth.Advertisement.BluetoothLEAdvertisementWatcherStatus;i4)");
1893 #[doc = "*Required features: `\"Devices_Bluetooth_Advertisement\"`*"]
1894 #[repr(transparent)]
1895 #[derive(::core::cmp::PartialEq, ::core::cmp::Eq)]
1896 pub struct BluetoothLEScanningMode(pub i32);
1897 impl BluetoothLEScanningMode
{
1898 pub const Passive
: Self = Self(0i32);
1899 pub const Active
: Self = Self(1i32);
1900 pub const None
: Self = Self(2i32);
1902 impl ::core
::marker
::Copy
for BluetoothLEScanningMode {}
1903 impl ::core
::clone
::Clone
for BluetoothLEScanningMode
{
1904 fn clone(&self) -> Self {
1908 impl ::core
::default::Default
for BluetoothLEScanningMode
{
1909 fn default() -> Self {
1913 impl ::windows
::core
::TypeKind
for BluetoothLEScanningMode
{
1914 type TypeKind
= ::windows
::core
::CopyType
;
1916 impl ::core
::fmt
::Debug
for BluetoothLEScanningMode
{
1917 fn fmt(&self, f
: &mut ::core
::fmt
::Formatter
<'_
>) -> ::core
::fmt
::Result
{
1918 f
.debug_tuple("BluetoothLEScanningMode").field(&self.0).finish()
1921 impl ::windows
::core
::RuntimeType
for BluetoothLEScanningMode
{
1922 const SIGNATURE
: ::windows
::imp
::ConstBuffer
= ::windows
::imp
::ConstBuffer
::from_slice(b
"enum(Windows.Devices.Bluetooth.Advertisement.BluetoothLEScanningMode;i4)");
1924 #[cfg(feature = "implement")]
1925 ::core
::include
!("impl.rs");