1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)] 2 #[cfg(feature = "Devices_Adc")] 3 pub mod Adc; 4 #[cfg(feature = "Devices_AllJoyn")] 5 pub mod AllJoyn; 6 #[cfg(feature = "Devices_Background")] 7 pub mod Background; 8 #[cfg(feature = "Devices_Bluetooth")] 9 pub mod Bluetooth; 10 #[cfg(feature = "Devices_Custom")] 11 pub mod Custom; 12 #[cfg(feature = "Devices_Display")] 13 pub mod Display; 14 #[cfg(feature = "Devices_Enumeration")] 15 pub mod Enumeration; 16 #[cfg(feature = "Devices_Geolocation")] 17 pub mod Geolocation; 18 #[cfg(feature = "Devices_Gpio")] 19 pub mod Gpio; 20 #[cfg(feature = "Devices_Haptics")] 21 pub mod Haptics; 22 #[cfg(feature = "Devices_HumanInterfaceDevice")] 23 pub mod HumanInterfaceDevice; 24 #[cfg(feature = "Devices_I2c")] 25 pub mod I2c; 26 #[cfg(feature = "Devices_Input")] 27 pub mod Input; 28 #[cfg(feature = "Devices_Lights")] 29 pub mod Lights; 30 #[cfg(feature = "Devices_Midi")] 31 pub mod Midi; 32 #[cfg(feature = "Devices_Perception")] 33 pub mod Perception; 34 #[cfg(feature = "Devices_PointOfService")] 35 pub mod PointOfService; 36 #[cfg(feature = "Devices_Portable")] 37 pub mod Portable; 38 #[cfg(feature = "Devices_Power")] 39 pub mod Power; 40 #[cfg(feature = "Devices_Printers")] 41 pub mod Printers; 42 #[cfg(feature = "Devices_Pwm")] 43 pub mod Pwm; 44 #[cfg(feature = "Devices_Radios")] 45 pub mod Radios; 46 #[cfg(feature = "Devices_Scanners")] 47 pub mod Scanners; 48 #[cfg(feature = "Devices_Sensors")] 49 pub mod Sensors; 50 #[cfg(feature = "Devices_SerialCommunication")] 51 pub mod SerialCommunication; 52 #[cfg(feature = "Devices_SmartCards")] 53 pub mod SmartCards; 54 #[cfg(feature = "Devices_Sms")] 55 pub mod Sms; 56 #[cfg(feature = "Devices_Spi")] 57 pub mod Spi; 58 #[cfg(feature = "Devices_Usb")] 59 pub mod Usb; 60 #[cfg(feature = "Devices_WiFi")] 61 pub mod WiFi; 62 #[cfg(feature = "Devices_WiFiDirect")] 63 pub mod WiFiDirect; 64 #[repr(C)] 65 #[derive(:: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug, :: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy)] 66 pub struct DevicesLowLevelContract(pub u8); 67 #[repr(transparent)] 68 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 69 pub struct ILowLevelDevicesAggregateProvider(::windows::runtime::IInspectable); 70 unsafe impl ::windows::runtime::Interface for ILowLevelDevicesAggregateProvider { 71 type Vtable = ILowLevelDevicesAggregateProvider_abi; 72 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2805880348, 43713, 20167, [168, 82, 71, 159, 112, 96, 208, 31]); 73 } 74 impl ILowLevelDevicesAggregateProvider { 75 #[cfg(feature = "Devices_Adc_Provider")] AdcControllerProvider(&self) -> ::windows::runtime::Result<Adc::Provider::IAdcControllerProvider>76 pub fn AdcControllerProvider(&self) -> ::windows::runtime::Result<Adc::Provider::IAdcControllerProvider> { 77 let this = self; 78 unsafe { 79 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 80 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Adc::Provider::IAdcControllerProvider>(result__) 81 } 82 } 83 #[cfg(feature = "Devices_Pwm_Provider")] PwmControllerProvider(&self) -> ::windows::runtime::Result<Pwm::Provider::IPwmControllerProvider>84 pub fn PwmControllerProvider(&self) -> ::windows::runtime::Result<Pwm::Provider::IPwmControllerProvider> { 85 let this = self; 86 unsafe { 87 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 88 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Pwm::Provider::IPwmControllerProvider>(result__) 89 } 90 } 91 #[cfg(feature = "Devices_Gpio_Provider")] GpioControllerProvider(&self) -> ::windows::runtime::Result<Gpio::Provider::IGpioControllerProvider>92 pub fn GpioControllerProvider(&self) -> ::windows::runtime::Result<Gpio::Provider::IGpioControllerProvider> { 93 let this = self; 94 unsafe { 95 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 96 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Gpio::Provider::IGpioControllerProvider>(result__) 97 } 98 } 99 #[cfg(feature = "Devices_I2c_Provider")] I2cControllerProvider(&self) -> ::windows::runtime::Result<I2c::Provider::II2cControllerProvider>100 pub fn I2cControllerProvider(&self) -> ::windows::runtime::Result<I2c::Provider::II2cControllerProvider> { 101 let this = self; 102 unsafe { 103 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 104 (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<I2c::Provider::II2cControllerProvider>(result__) 105 } 106 } 107 #[cfg(feature = "Devices_Spi_Provider")] SpiControllerProvider(&self) -> ::windows::runtime::Result<Spi::Provider::ISpiControllerProvider>108 pub fn SpiControllerProvider(&self) -> ::windows::runtime::Result<Spi::Provider::ISpiControllerProvider> { 109 let this = self; 110 unsafe { 111 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 112 (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Spi::Provider::ISpiControllerProvider>(result__) 113 } 114 } 115 } 116 unsafe impl ::windows::runtime::RuntimeType for ILowLevelDevicesAggregateProvider { 117 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"{a73e561c-aac1-4ec7-a852-479f7060d01f}"); 118 } 119 impl ::std::convert::From<ILowLevelDevicesAggregateProvider> for ::windows::runtime::IUnknown { from(value: ILowLevelDevicesAggregateProvider) -> Self120 fn from(value: ILowLevelDevicesAggregateProvider) -> Self { 121 unsafe { ::std::mem::transmute(value) } 122 } 123 } 124 impl ::std::convert::From<&ILowLevelDevicesAggregateProvider> for ::windows::runtime::IUnknown { from(value: &ILowLevelDevicesAggregateProvider) -> Self125 fn from(value: &ILowLevelDevicesAggregateProvider) -> Self { 126 ::std::convert::From::from(::std::clone::Clone::clone(value)) 127 } 128 } 129 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for ILowLevelDevicesAggregateProvider { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>130 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 131 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self)) 132 } 133 } 134 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &ILowLevelDevicesAggregateProvider { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>135 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 136 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self))) 137 } 138 } 139 impl ::std::convert::From<ILowLevelDevicesAggregateProvider> for ::windows::runtime::IInspectable { from(value: ILowLevelDevicesAggregateProvider) -> Self140 fn from(value: ILowLevelDevicesAggregateProvider) -> Self { 141 value.0 142 } 143 } 144 impl ::std::convert::From<&ILowLevelDevicesAggregateProvider> for ::windows::runtime::IInspectable { from(value: &ILowLevelDevicesAggregateProvider) -> Self145 fn from(value: &ILowLevelDevicesAggregateProvider) -> Self { 146 value.0.clone() 147 } 148 } 149 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for ILowLevelDevicesAggregateProvider { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>150 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 151 ::windows::runtime::Param::Owned(self.0) 152 } 153 } 154 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a ILowLevelDevicesAggregateProvider { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>155 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 156 ::windows::runtime::Param::Borrowed(&self.0) 157 } 158 } 159 #[repr(C)] 160 #[doc(hidden)] 161 pub struct ILowLevelDevicesAggregateProvider_abi( 162 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 163 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 164 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 165 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 166 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 167 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 168 #[cfg(feature = "Devices_Adc_Provider")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 169 #[cfg(not(feature = "Devices_Adc_Provider"))] usize, 170 #[cfg(feature = "Devices_Pwm_Provider")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 171 #[cfg(not(feature = "Devices_Pwm_Provider"))] usize, 172 #[cfg(feature = "Devices_Gpio_Provider")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 173 #[cfg(not(feature = "Devices_Gpio_Provider"))] usize, 174 #[cfg(feature = "Devices_I2c_Provider")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 175 #[cfg(not(feature = "Devices_I2c_Provider"))] usize, 176 #[cfg(feature = "Devices_Spi_Provider")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 177 #[cfg(not(feature = "Devices_Spi_Provider"))] usize, 178 ); 179 #[repr(transparent)] 180 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 181 #[doc(hidden)] 182 pub struct ILowLevelDevicesAggregateProviderFactory(::windows::runtime::IInspectable); 183 unsafe impl ::windows::runtime::Interface for ILowLevelDevicesAggregateProviderFactory { 184 type Vtable = ILowLevelDevicesAggregateProviderFactory_abi; 185 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2596580086, 13427, 18014, [150, 213, 54, 40, 26, 44, 87, 175]); 186 } 187 #[repr(C)] 188 #[doc(hidden)] 189 pub struct ILowLevelDevicesAggregateProviderFactory_abi( 190 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 191 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 192 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 193 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 194 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 195 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 196 #[cfg(all(feature = "Devices_Adc_Provider", feature = "Devices_Gpio_Provider", feature = "Devices_I2c_Provider", feature = "Devices_Pwm_Provider", feature = "Devices_Spi_Provider"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, adc: ::windows::runtime::RawPtr, pwm: ::windows::runtime::RawPtr, gpio: ::windows::runtime::RawPtr, i2c: ::windows::runtime::RawPtr, spi: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 197 #[cfg(not(all(feature = "Devices_Adc_Provider", feature = "Devices_Gpio_Provider", feature = "Devices_I2c_Provider", feature = "Devices_Pwm_Provider", feature = "Devices_Spi_Provider")))] usize, 198 ); 199 #[repr(transparent)] 200 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 201 #[doc(hidden)] 202 pub struct ILowLevelDevicesController(::windows::runtime::IInspectable); 203 unsafe impl ::windows::runtime::Interface for ILowLevelDevicesController { 204 type Vtable = ILowLevelDevicesController_abi; 205 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(784481748, 6043, 17886, [155, 57, 58, 224, 37, 39, 222, 82]); 206 } 207 #[repr(C)] 208 #[doc(hidden)] 209 pub struct ILowLevelDevicesController_abi( 210 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 211 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 212 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 213 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 214 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 215 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 216 ); 217 #[repr(transparent)] 218 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 219 #[doc(hidden)] 220 pub struct ILowLevelDevicesControllerStatics(::windows::runtime::IInspectable); 221 unsafe impl ::windows::runtime::Interface for ILowLevelDevicesControllerStatics { 222 type Vtable = ILowLevelDevicesControllerStatics_abi; 223 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(155095658, 64715, 17300, [166, 151, 25, 222, 99, 124, 45, 179]); 224 } 225 #[repr(C)] 226 #[doc(hidden)] 227 pub struct ILowLevelDevicesControllerStatics_abi( 228 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 229 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 230 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 231 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 232 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 233 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 234 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 235 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 236 ); 237 #[repr(transparent)] 238 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 239 pub struct LowLevelDevicesAggregateProvider(::windows::runtime::IInspectable); 240 impl LowLevelDevicesAggregateProvider { 241 #[cfg(feature = "Devices_Adc_Provider")] AdcControllerProvider(&self) -> ::windows::runtime::Result<Adc::Provider::IAdcControllerProvider>242 pub fn AdcControllerProvider(&self) -> ::windows::runtime::Result<Adc::Provider::IAdcControllerProvider> { 243 let this = self; 244 unsafe { 245 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 246 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Adc::Provider::IAdcControllerProvider>(result__) 247 } 248 } 249 #[cfg(feature = "Devices_Pwm_Provider")] PwmControllerProvider(&self) -> ::windows::runtime::Result<Pwm::Provider::IPwmControllerProvider>250 pub fn PwmControllerProvider(&self) -> ::windows::runtime::Result<Pwm::Provider::IPwmControllerProvider> { 251 let this = self; 252 unsafe { 253 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 254 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Pwm::Provider::IPwmControllerProvider>(result__) 255 } 256 } 257 #[cfg(feature = "Devices_Gpio_Provider")] GpioControllerProvider(&self) -> ::windows::runtime::Result<Gpio::Provider::IGpioControllerProvider>258 pub fn GpioControllerProvider(&self) -> ::windows::runtime::Result<Gpio::Provider::IGpioControllerProvider> { 259 let this = self; 260 unsafe { 261 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 262 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Gpio::Provider::IGpioControllerProvider>(result__) 263 } 264 } 265 #[cfg(feature = "Devices_I2c_Provider")] I2cControllerProvider(&self) -> ::windows::runtime::Result<I2c::Provider::II2cControllerProvider>266 pub fn I2cControllerProvider(&self) -> ::windows::runtime::Result<I2c::Provider::II2cControllerProvider> { 267 let this = self; 268 unsafe { 269 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 270 (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<I2c::Provider::II2cControllerProvider>(result__) 271 } 272 } 273 #[cfg(feature = "Devices_Spi_Provider")] SpiControllerProvider(&self) -> ::windows::runtime::Result<Spi::Provider::ISpiControllerProvider>274 pub fn SpiControllerProvider(&self) -> ::windows::runtime::Result<Spi::Provider::ISpiControllerProvider> { 275 let this = self; 276 unsafe { 277 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 278 (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<Spi::Provider::ISpiControllerProvider>(result__) 279 } 280 } 281 #[cfg(all(feature = "Devices_Adc_Provider", feature = "Devices_Gpio_Provider", feature = "Devices_I2c_Provider", feature = "Devices_Pwm_Provider", feature = "Devices_Spi_Provider"))] Create<'a, Param0: ::windows::runtime::IntoParam<'a, Adc::Provider::IAdcControllerProvider>, Param1: ::windows::runtime::IntoParam<'a, Pwm::Provider::IPwmControllerProvider>, Param2: ::windows::runtime::IntoParam<'a, Gpio::Provider::IGpioControllerProvider>, Param3: ::windows::runtime::IntoParam<'a, I2c::Provider::II2cControllerProvider>, Param4: ::windows::runtime::IntoParam<'a, Spi::Provider::ISpiControllerProvider>>( adc: Param0, pwm: Param1, gpio: Param2, i2c: Param3, spi: Param4, ) -> ::windows::runtime::Result<LowLevelDevicesAggregateProvider>282 pub fn Create<'a, Param0: ::windows::runtime::IntoParam<'a, Adc::Provider::IAdcControllerProvider>, Param1: ::windows::runtime::IntoParam<'a, Pwm::Provider::IPwmControllerProvider>, Param2: ::windows::runtime::IntoParam<'a, Gpio::Provider::IGpioControllerProvider>, Param3: ::windows::runtime::IntoParam<'a, I2c::Provider::II2cControllerProvider>, Param4: ::windows::runtime::IntoParam<'a, Spi::Provider::ISpiControllerProvider>>( 283 adc: Param0, 284 pwm: Param1, 285 gpio: Param2, 286 i2c: Param3, 287 spi: Param4, 288 ) -> ::windows::runtime::Result<LowLevelDevicesAggregateProvider> { 289 Self::ILowLevelDevicesAggregateProviderFactory(|this| unsafe { 290 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 291 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), adc.into_param().abi(), pwm.into_param().abi(), gpio.into_param().abi(), i2c.into_param().abi(), spi.into_param().abi(), &mut result__).from_abi::<LowLevelDevicesAggregateProvider>(result__) 292 }) 293 } ILowLevelDevicesAggregateProviderFactory<R, F: FnOnce(&ILowLevelDevicesAggregateProviderFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>294 pub fn ILowLevelDevicesAggregateProviderFactory<R, F: FnOnce(&ILowLevelDevicesAggregateProviderFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> { 295 static mut SHARED: ::windows::runtime::FactoryCache<LowLevelDevicesAggregateProvider, ILowLevelDevicesAggregateProviderFactory> = ::windows::runtime::FactoryCache::new(); 296 unsafe { SHARED.call(callback) } 297 } 298 } 299 unsafe impl ::windows::runtime::RuntimeType for LowLevelDevicesAggregateProvider { 300 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.LowLevelDevicesAggregateProvider;{a73e561c-aac1-4ec7-a852-479f7060d01f})"); 301 } 302 unsafe impl ::windows::runtime::Interface for LowLevelDevicesAggregateProvider { 303 type Vtable = ILowLevelDevicesAggregateProvider_abi; 304 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2805880348, 43713, 20167, [168, 82, 71, 159, 112, 96, 208, 31]); 305 } 306 impl ::windows::runtime::RuntimeName for LowLevelDevicesAggregateProvider { 307 const NAME: &'static str = "Windows.Devices.LowLevelDevicesAggregateProvider"; 308 } 309 impl ::std::convert::From<LowLevelDevicesAggregateProvider> for ::windows::runtime::IUnknown { from(value: LowLevelDevicesAggregateProvider) -> Self310 fn from(value: LowLevelDevicesAggregateProvider) -> Self { 311 unsafe { ::std::mem::transmute(value) } 312 } 313 } 314 impl ::std::convert::From<&LowLevelDevicesAggregateProvider> for ::windows::runtime::IUnknown { from(value: &LowLevelDevicesAggregateProvider) -> Self315 fn from(value: &LowLevelDevicesAggregateProvider) -> Self { 316 ::std::convert::From::from(::std::clone::Clone::clone(value)) 317 } 318 } 319 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for LowLevelDevicesAggregateProvider { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>320 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 321 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self)) 322 } 323 } 324 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &LowLevelDevicesAggregateProvider { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>325 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 326 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self))) 327 } 328 } 329 impl ::std::convert::From<LowLevelDevicesAggregateProvider> for ::windows::runtime::IInspectable { from(value: LowLevelDevicesAggregateProvider) -> Self330 fn from(value: LowLevelDevicesAggregateProvider) -> Self { 331 value.0 332 } 333 } 334 impl ::std::convert::From<&LowLevelDevicesAggregateProvider> for ::windows::runtime::IInspectable { from(value: &LowLevelDevicesAggregateProvider) -> Self335 fn from(value: &LowLevelDevicesAggregateProvider) -> Self { 336 value.0.clone() 337 } 338 } 339 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for LowLevelDevicesAggregateProvider { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>340 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 341 ::windows::runtime::Param::Owned(self.0) 342 } 343 } 344 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a LowLevelDevicesAggregateProvider { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>345 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 346 ::windows::runtime::Param::Borrowed(&self.0) 347 } 348 } 349 impl ::std::convert::From<LowLevelDevicesAggregateProvider> for ILowLevelDevicesAggregateProvider { from(value: LowLevelDevicesAggregateProvider) -> Self350 fn from(value: LowLevelDevicesAggregateProvider) -> Self { 351 unsafe { ::std::mem::transmute(value) } 352 } 353 } 354 impl ::std::convert::From<&LowLevelDevicesAggregateProvider> for ILowLevelDevicesAggregateProvider { from(value: &LowLevelDevicesAggregateProvider) -> Self355 fn from(value: &LowLevelDevicesAggregateProvider) -> Self { 356 ::std::convert::From::from(::std::clone::Clone::clone(value)) 357 } 358 } 359 impl<'a> ::windows::runtime::IntoParam<'a, ILowLevelDevicesAggregateProvider> for LowLevelDevicesAggregateProvider { into_param(self) -> ::windows::runtime::Param<'a, ILowLevelDevicesAggregateProvider>360 fn into_param(self) -> ::windows::runtime::Param<'a, ILowLevelDevicesAggregateProvider> { 361 ::windows::runtime::Param::Owned(::std::convert::Into::<ILowLevelDevicesAggregateProvider>::into(self)) 362 } 363 } 364 impl<'a> ::windows::runtime::IntoParam<'a, ILowLevelDevicesAggregateProvider> for &LowLevelDevicesAggregateProvider { into_param(self) -> ::windows::runtime::Param<'a, ILowLevelDevicesAggregateProvider>365 fn into_param(self) -> ::windows::runtime::Param<'a, ILowLevelDevicesAggregateProvider> { 366 ::windows::runtime::Param::Owned(::std::convert::Into::<ILowLevelDevicesAggregateProvider>::into(::std::clone::Clone::clone(self))) 367 } 368 } 369 unsafe impl ::std::marker::Send for LowLevelDevicesAggregateProvider {} 370 unsafe impl ::std::marker::Sync for LowLevelDevicesAggregateProvider {} 371 #[repr(transparent)] 372 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 373 pub struct LowLevelDevicesController(::windows::runtime::IInspectable); 374 impl LowLevelDevicesController { DefaultProvider() -> ::windows::runtime::Result<ILowLevelDevicesAggregateProvider>375 pub fn DefaultProvider() -> ::windows::runtime::Result<ILowLevelDevicesAggregateProvider> { 376 Self::ILowLevelDevicesControllerStatics(|this| unsafe { 377 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 378 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<ILowLevelDevicesAggregateProvider>(result__) 379 }) 380 } SetDefaultProvider<'a, Param0: ::windows::runtime::IntoParam<'a, ILowLevelDevicesAggregateProvider>>(value: Param0) -> ::windows::runtime::Result<()>381 pub fn SetDefaultProvider<'a, Param0: ::windows::runtime::IntoParam<'a, ILowLevelDevicesAggregateProvider>>(value: Param0) -> ::windows::runtime::Result<()> { 382 Self::ILowLevelDevicesControllerStatics(|this| unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() }) 383 } ILowLevelDevicesControllerStatics<R, F: FnOnce(&ILowLevelDevicesControllerStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>384 pub fn ILowLevelDevicesControllerStatics<R, F: FnOnce(&ILowLevelDevicesControllerStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> { 385 static mut SHARED: ::windows::runtime::FactoryCache<LowLevelDevicesController, ILowLevelDevicesControllerStatics> = ::windows::runtime::FactoryCache::new(); 386 unsafe { SHARED.call(callback) } 387 } 388 } 389 unsafe impl ::windows::runtime::RuntimeType for LowLevelDevicesController { 390 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.LowLevelDevicesController;{2ec23dd4-179b-45de-9b39-3ae02527de52})"); 391 } 392 unsafe impl ::windows::runtime::Interface for LowLevelDevicesController { 393 type Vtable = ILowLevelDevicesController_abi; 394 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(784481748, 6043, 17886, [155, 57, 58, 224, 37, 39, 222, 82]); 395 } 396 impl ::windows::runtime::RuntimeName for LowLevelDevicesController { 397 const NAME: &'static str = "Windows.Devices.LowLevelDevicesController"; 398 } 399 impl ::std::convert::From<LowLevelDevicesController> for ::windows::runtime::IUnknown { from(value: LowLevelDevicesController) -> Self400 fn from(value: LowLevelDevicesController) -> Self { 401 unsafe { ::std::mem::transmute(value) } 402 } 403 } 404 impl ::std::convert::From<&LowLevelDevicesController> for ::windows::runtime::IUnknown { from(value: &LowLevelDevicesController) -> Self405 fn from(value: &LowLevelDevicesController) -> Self { 406 ::std::convert::From::from(::std::clone::Clone::clone(value)) 407 } 408 } 409 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for LowLevelDevicesController { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>410 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 411 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self)) 412 } 413 } 414 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &LowLevelDevicesController { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>415 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 416 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self))) 417 } 418 } 419 impl ::std::convert::From<LowLevelDevicesController> for ::windows::runtime::IInspectable { from(value: LowLevelDevicesController) -> Self420 fn from(value: LowLevelDevicesController) -> Self { 421 value.0 422 } 423 } 424 impl ::std::convert::From<&LowLevelDevicesController> for ::windows::runtime::IInspectable { from(value: &LowLevelDevicesController) -> Self425 fn from(value: &LowLevelDevicesController) -> Self { 426 value.0.clone() 427 } 428 } 429 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for LowLevelDevicesController { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>430 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 431 ::windows::runtime::Param::Owned(self.0) 432 } 433 } 434 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a LowLevelDevicesController { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>435 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 436 ::windows::runtime::Param::Borrowed(&self.0) 437 } 438 } 439 unsafe impl ::std::marker::Send for LowLevelDevicesController {} 440 unsafe impl ::std::marker::Sync for LowLevelDevicesController {} 441