1 #![allow(unused_variables, non_upper_case_globals, non_snake_case, unused_unsafe, non_camel_case_types, dead_code, clippy::all)] 2 #[repr(transparent)] 3 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 4 #[doc(hidden)] 5 pub struct IUsbBulkInEndpointDescriptor(::windows::runtime::IInspectable); 6 unsafe impl ::windows::runtime::Interface for IUsbBulkInEndpointDescriptor { 7 type Vtable = IUsbBulkInEndpointDescriptor_abi; 8 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1013860422, 1743, 17065, [157, 194, 151, 28, 27, 20, 182, 227]); 9 } 10 #[repr(C)] 11 #[doc(hidden)] 12 pub struct IUsbBulkInEndpointDescriptor_abi( 13 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 14 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 15 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 16 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 17 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 18 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 19 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT, 20 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u8) -> ::windows::runtime::HRESULT, 21 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 22 ); 23 #[repr(transparent)] 24 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 25 #[doc(hidden)] 26 pub struct IUsbBulkInPipe(::windows::runtime::IInspectable); 27 unsafe impl ::windows::runtime::Interface for IUsbBulkInPipe { 28 type Vtable = IUsbBulkInPipe_abi; 29 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4028443963, 17736, 19792, [179, 38, 216, 44, 218, 190, 18, 32]); 30 } 31 #[repr(C)] 32 #[doc(hidden)] 33 pub struct IUsbBulkInPipe_abi( 34 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 35 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 36 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 37 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 38 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 39 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 40 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT, 41 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 42 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 43 #[cfg(not(feature = "Foundation"))] usize, 44 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: UsbReadOptions) -> ::windows::runtime::HRESULT, 45 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut UsbReadOptions) -> ::windows::runtime::HRESULT, 46 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 47 #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 48 #[cfg(not(feature = "Storage_Streams"))] usize, 49 ); 50 #[repr(transparent)] 51 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 52 #[doc(hidden)] 53 pub struct IUsbBulkOutEndpointDescriptor(::windows::runtime::IInspectable); 54 unsafe impl ::windows::runtime::Interface for IUsbBulkOutEndpointDescriptor { 55 type Vtable = IUsbBulkOutEndpointDescriptor_abi; 56 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(673219706, 65518, 20320, [155, 225, 149, 108, 172, 62, 203, 101]); 57 } 58 #[repr(C)] 59 #[doc(hidden)] 60 pub struct IUsbBulkOutEndpointDescriptor_abi( 61 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 62 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 63 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 64 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 65 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 66 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 67 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT, 68 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u8) -> ::windows::runtime::HRESULT, 69 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 70 ); 71 #[repr(transparent)] 72 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 73 #[doc(hidden)] 74 pub struct IUsbBulkOutPipe(::windows::runtime::IInspectable); 75 unsafe impl ::windows::runtime::Interface for IUsbBulkOutPipe { 76 type Vtable = IUsbBulkOutPipe_abi; 77 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2833903214, 277, 17834, [139, 33, 55, 178, 37, 188, 206, 231]); 78 } 79 #[repr(C)] 80 #[doc(hidden)] 81 pub struct IUsbBulkOutPipe_abi( 82 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 83 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 84 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 85 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 86 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 87 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 88 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 89 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 90 #[cfg(not(feature = "Foundation"))] usize, 91 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: UsbWriteOptions) -> ::windows::runtime::HRESULT, 92 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut UsbWriteOptions) -> ::windows::runtime::HRESULT, 93 #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 94 #[cfg(not(feature = "Storage_Streams"))] usize, 95 ); 96 #[repr(transparent)] 97 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 98 #[doc(hidden)] 99 pub struct IUsbConfiguration(::windows::runtime::IInspectable); 100 unsafe impl ::windows::runtime::Interface for IUsbConfiguration { 101 type Vtable = IUsbConfiguration_abi; 102 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1746367529, 13993, 18135, [184, 115, 252, 104, 146, 81, 236, 48]); 103 } 104 #[repr(C)] 105 #[doc(hidden)] 106 pub struct IUsbConfiguration_abi( 107 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 108 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 109 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 110 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 111 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 112 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 113 #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 114 #[cfg(not(feature = "Foundation_Collections"))] usize, 115 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 116 #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 117 #[cfg(not(feature = "Foundation_Collections"))] usize, 118 ); 119 #[repr(transparent)] 120 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 121 #[doc(hidden)] 122 pub struct IUsbConfigurationDescriptor(::windows::runtime::IInspectable); 123 unsafe impl ::windows::runtime::Interface for IUsbConfigurationDescriptor { 124 type Vtable = IUsbConfigurationDescriptor_abi; 125 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4061621650, 46146, 16506, [130, 7, 125, 100, 108, 3, 133, 243]); 126 } 127 #[repr(C)] 128 #[doc(hidden)] 129 pub struct IUsbConfigurationDescriptor_abi( 130 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 131 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 132 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 133 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 134 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 135 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 136 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u8) -> ::windows::runtime::HRESULT, 137 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT, 138 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT, 139 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT, 140 ); 141 #[repr(transparent)] 142 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 143 #[doc(hidden)] 144 pub struct IUsbConfigurationDescriptorStatics(::windows::runtime::IInspectable); 145 unsafe impl ::windows::runtime::Interface for IUsbConfigurationDescriptorStatics { 146 type Vtable = IUsbConfigurationDescriptorStatics_abi; 147 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1112337811, 59200, 16545, [146, 189, 218, 18, 14, 160, 73, 20]); 148 } 149 #[repr(C)] 150 #[doc(hidden)] 151 pub struct IUsbConfigurationDescriptorStatics_abi( 152 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 153 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 154 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 155 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 156 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 157 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 158 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, descriptor: ::windows::runtime::RawPtr, parsed: *mut ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT, 159 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, descriptor: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 160 ); 161 #[repr(transparent)] 162 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 163 #[doc(hidden)] 164 pub struct IUsbControlRequestType(::windows::runtime::IInspectable); 165 unsafe impl ::windows::runtime::Interface for IUsbControlRequestType { 166 type Vtable = IUsbControlRequestType_abi; 167 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2392090022, 55101, 18142, [148, 190, 170, 231, 240, 124, 15, 92]); 168 } 169 #[repr(C)] 170 #[doc(hidden)] 171 pub struct IUsbControlRequestType_abi( 172 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 173 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 174 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 175 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 176 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 177 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 178 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut UsbTransferDirection) -> ::windows::runtime::HRESULT, 179 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: UsbTransferDirection) -> ::windows::runtime::HRESULT, 180 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut UsbControlTransferType) -> ::windows::runtime::HRESULT, 181 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: UsbControlTransferType) -> ::windows::runtime::HRESULT, 182 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut UsbControlRecipient) -> ::windows::runtime::HRESULT, 183 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: UsbControlRecipient) -> ::windows::runtime::HRESULT, 184 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u8) -> ::windows::runtime::HRESULT, 185 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: u8) -> ::windows::runtime::HRESULT, 186 ); 187 #[repr(transparent)] 188 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 189 #[doc(hidden)] 190 pub struct IUsbDescriptor(::windows::runtime::IInspectable); 191 unsafe impl ::windows::runtime::Interface for IUsbDescriptor { 192 type Vtable = IUsbDescriptor_abi; 193 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(176812566, 24477, 18548, [137, 4, 218, 154, 211, 245, 82, 143]); 194 } 195 #[repr(C)] 196 #[doc(hidden)] 197 pub struct IUsbDescriptor_abi( 198 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 199 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 200 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 201 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 202 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 203 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 204 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u8) -> ::windows::runtime::HRESULT, 205 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u8) -> ::windows::runtime::HRESULT, 206 #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, buffer: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 207 #[cfg(not(feature = "Storage_Streams"))] usize, 208 ); 209 #[repr(transparent)] 210 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 211 #[doc(hidden)] 212 pub struct IUsbDevice(::windows::runtime::IInspectable); 213 unsafe impl ::windows::runtime::Interface for IUsbDevice { 214 type Vtable = IUsbDevice_abi; 215 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1380563346, 50262, 17621, [173, 94, 36, 245, 160, 137, 246, 59]); 216 } 217 #[repr(C)] 218 #[doc(hidden)] 219 pub struct IUsbDevice_abi( 220 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 221 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 222 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 223 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 224 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 225 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 226 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, setuppacket: ::windows::runtime::RawPtr, buffer: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 227 #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))] usize, 228 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, setuppacket: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 229 #[cfg(not(feature = "Foundation"))] usize, 230 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, setuppacket: ::windows::runtime::RawPtr, buffer: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 231 #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))] usize, 232 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, setuppacket: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 233 #[cfg(not(all(feature = "Foundation", feature = "Storage_Streams")))] usize, 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, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 236 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 237 ); 238 #[repr(transparent)] 239 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 240 #[doc(hidden)] 241 pub struct IUsbDeviceClass(::windows::runtime::IInspectable); 242 unsafe impl ::windows::runtime::Interface for IUsbDeviceClass { 243 type Vtable = IUsbDeviceClass_abi; 244 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(85541625, 33886, 18411, [177, 42, 56, 242, 246, 23, 175, 231]); 245 } 246 #[repr(C)] 247 #[doc(hidden)] 248 pub struct IUsbDeviceClass_abi( 249 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 250 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 251 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 252 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 253 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 254 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 255 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u8) -> ::windows::runtime::HRESULT, 256 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: u8) -> ::windows::runtime::HRESULT, 257 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 258 #[cfg(not(feature = "Foundation"))] usize, 259 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 260 #[cfg(not(feature = "Foundation"))] usize, 261 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 262 #[cfg(not(feature = "Foundation"))] usize, 263 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 264 #[cfg(not(feature = "Foundation"))] usize, 265 ); 266 #[repr(transparent)] 267 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 268 #[doc(hidden)] 269 pub struct IUsbDeviceClasses(::windows::runtime::IInspectable); 270 unsafe impl ::windows::runtime::Interface for IUsbDeviceClasses { 271 type Vtable = IUsbDeviceClasses_abi; 272 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1752143197, 39826, 19248, [151, 129, 194, 44, 85, 172, 53, 203]); 273 } 274 #[repr(C)] 275 #[doc(hidden)] 276 pub struct IUsbDeviceClasses_abi( 277 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 278 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 279 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 280 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 281 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 282 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 283 ); 284 #[repr(transparent)] 285 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 286 #[doc(hidden)] 287 pub struct IUsbDeviceClassesStatics(::windows::runtime::IInspectable); 288 unsafe impl ::windows::runtime::Interface for IUsbDeviceClassesStatics { 289 type Vtable = IUsbDeviceClassesStatics_abi; 290 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2987066663, 50560, 17817, [161, 101, 152, 27, 79, 208, 50, 48]); 291 } 292 #[repr(C)] 293 #[doc(hidden)] 294 pub struct IUsbDeviceClassesStatics_abi( 295 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 296 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 297 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 298 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 299 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 300 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 301 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 302 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 303 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 304 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 305 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 306 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 307 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 308 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 309 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 310 ); 311 #[repr(transparent)] 312 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 313 #[doc(hidden)] 314 pub struct IUsbDeviceDescriptor(::windows::runtime::IInspectable); 315 unsafe impl ::windows::runtime::Interface for IUsbDeviceDescriptor { 316 type Vtable = IUsbDeviceDescriptor_abi; 317 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(524866038, 47767, 17186, [185, 44, 181, 177, 137, 33, 101, 136]); 318 } 319 #[repr(C)] 320 #[doc(hidden)] 321 pub struct IUsbDeviceDescriptor_abi( 322 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 323 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 324 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 325 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 326 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 327 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 328 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT, 329 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u8) -> ::windows::runtime::HRESULT, 330 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT, 331 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT, 332 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT, 333 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u8) -> ::windows::runtime::HRESULT, 334 ); 335 #[repr(transparent)] 336 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 337 #[doc(hidden)] 338 pub struct IUsbDeviceStatics(::windows::runtime::IInspectable); 339 unsafe impl ::windows::runtime::Interface for IUsbDeviceStatics { 340 type Vtable = IUsbDeviceStatics_abi; 341 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(107709858, 2487, 17478, [133, 2, 111, 230, 220, 170, 115, 9]); 342 } 343 #[repr(C)] 344 #[doc(hidden)] 345 pub struct IUsbDeviceStatics_abi( 346 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 347 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 348 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 349 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 350 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 351 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 352 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, vendorid: u32, productid: u32, winusbinterfaceclass: ::windows::runtime::GUID, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT, 353 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, winusbinterfaceclass: ::windows::runtime::GUID, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT, 354 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, vendorid: u32, productid: u32, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT, 355 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, usbclass: ::windows::runtime::RawPtr, result__: *mut ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>) -> ::windows::runtime::HRESULT, 356 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, deviceid: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING>, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 357 #[cfg(not(feature = "Foundation"))] usize, 358 ); 359 #[repr(transparent)] 360 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 361 #[doc(hidden)] 362 pub struct IUsbEndpointDescriptor(::windows::runtime::IInspectable); 363 unsafe impl ::windows::runtime::Interface for IUsbEndpointDescriptor { 364 type Vtable = IUsbEndpointDescriptor_abi; 365 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1799906009, 36343, 19264, [172, 131, 87, 143, 19, 159, 5, 117]); 366 } 367 #[repr(C)] 368 #[doc(hidden)] 369 pub struct IUsbEndpointDescriptor_abi( 370 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 371 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 372 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 373 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 374 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 375 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 376 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u8) -> ::windows::runtime::HRESULT, 377 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut UsbTransferDirection) -> ::windows::runtime::HRESULT, 378 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut UsbEndpointType) -> ::windows::runtime::HRESULT, 379 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 380 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 381 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 382 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 383 ); 384 #[repr(transparent)] 385 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 386 #[doc(hidden)] 387 pub struct IUsbEndpointDescriptorStatics(::windows::runtime::IInspectable); 388 unsafe impl ::windows::runtime::Interface for IUsbEndpointDescriptorStatics { 389 type Vtable = IUsbEndpointDescriptorStatics_abi; 390 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3364925953, 39530, 18782, [168, 44, 41, 91, 158, 112, 129, 6]); 391 } 392 #[repr(C)] 393 #[doc(hidden)] 394 pub struct IUsbEndpointDescriptorStatics_abi( 395 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 396 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 397 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 398 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 399 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 400 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 401 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, descriptor: ::windows::runtime::RawPtr, parsed: *mut ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT, 402 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, descriptor: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 403 ); 404 #[repr(transparent)] 405 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 406 #[doc(hidden)] 407 pub struct IUsbInterface(::windows::runtime::IInspectable); 408 unsafe impl ::windows::runtime::Interface for IUsbInterface { 409 type Vtable = IUsbInterface_abi; 410 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2687642517, 32583, 18603, [167, 39, 103, 140, 37, 190, 33, 18]); 411 } 412 #[repr(C)] 413 #[doc(hidden)] 414 pub struct IUsbInterface_abi( 415 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 416 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 417 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 418 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 419 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 420 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 421 #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 422 #[cfg(not(feature = "Foundation_Collections"))] usize, 423 #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 424 #[cfg(not(feature = "Foundation_Collections"))] usize, 425 #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 426 #[cfg(not(feature = "Foundation_Collections"))] usize, 427 #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 428 #[cfg(not(feature = "Foundation_Collections"))] usize, 429 #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 430 #[cfg(not(feature = "Foundation_Collections"))] usize, 431 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u8) -> ::windows::runtime::HRESULT, 432 #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 433 #[cfg(not(feature = "Foundation_Collections"))] usize, 434 ); 435 #[repr(transparent)] 436 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 437 #[doc(hidden)] 438 pub struct IUsbInterfaceDescriptor(::windows::runtime::IInspectable); 439 unsafe impl ::windows::runtime::Interface for IUsbInterfaceDescriptor { 440 type Vtable = IUsbInterfaceDescriptor_abi; 441 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(429289671, 47086, 20368, [140, 213, 148, 162, 226, 87, 89, 138]); 442 } 443 #[repr(C)] 444 #[doc(hidden)] 445 pub struct IUsbInterfaceDescriptor_abi( 446 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 447 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 448 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 449 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 450 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 451 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 452 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u8) -> ::windows::runtime::HRESULT, 453 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u8) -> ::windows::runtime::HRESULT, 454 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u8) -> ::windows::runtime::HRESULT, 455 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u8) -> ::windows::runtime::HRESULT, 456 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u8) -> ::windows::runtime::HRESULT, 457 ); 458 #[repr(transparent)] 459 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 460 #[doc(hidden)] 461 pub struct IUsbInterfaceDescriptorStatics(::windows::runtime::IInspectable); 462 unsafe impl ::windows::runtime::Interface for IUsbInterfaceDescriptorStatics { 463 type Vtable = IUsbInterfaceDescriptorStatics_abi; 464 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3813318645, 30678, 18614, [176, 190, 22, 198, 66, 35, 22, 254]); 465 } 466 #[repr(C)] 467 #[doc(hidden)] 468 pub struct IUsbInterfaceDescriptorStatics_abi( 469 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 470 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 471 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 472 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 473 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 474 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 475 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, descriptor: ::windows::runtime::RawPtr, parsed: *mut ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT, 476 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, descriptor: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 477 ); 478 #[repr(transparent)] 479 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 480 #[doc(hidden)] 481 pub struct IUsbInterfaceSetting(::windows::runtime::IInspectable); 482 unsafe impl ::windows::runtime::Interface for IUsbInterfaceSetting { 483 type Vtable = IUsbInterfaceSetting_abi; 484 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(405257127, 36263, 19191, [143, 76, 127, 48, 50, 231, 129, 245]); 485 } 486 #[repr(C)] 487 #[doc(hidden)] 488 pub struct IUsbInterfaceSetting_abi( 489 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 490 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 491 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 492 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 493 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 494 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 495 #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 496 #[cfg(not(feature = "Foundation_Collections"))] usize, 497 #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 498 #[cfg(not(feature = "Foundation_Collections"))] usize, 499 #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 500 #[cfg(not(feature = "Foundation_Collections"))] usize, 501 #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 502 #[cfg(not(feature = "Foundation_Collections"))] usize, 503 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut bool) -> ::windows::runtime::HRESULT, 504 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 505 #[cfg(not(feature = "Foundation"))] usize, 506 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 507 #[cfg(feature = "Foundation_Collections")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 508 #[cfg(not(feature = "Foundation_Collections"))] usize, 509 ); 510 #[repr(transparent)] 511 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 512 #[doc(hidden)] 513 pub struct IUsbInterruptInEndpointDescriptor(::windows::runtime::IInspectable); 514 unsafe impl ::windows::runtime::Interface for IUsbInterruptInEndpointDescriptor { 515 type Vtable = IUsbInterruptInEndpointDescriptor_abi; 516 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3226634599, 51473, 19514, [134, 178, 65, 156, 45, 168, 144, 57]); 517 } 518 #[repr(C)] 519 #[doc(hidden)] 520 pub struct IUsbInterruptInEndpointDescriptor_abi( 521 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 522 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 523 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 524 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 525 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 526 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 527 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT, 528 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u8) -> ::windows::runtime::HRESULT, 529 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT, 530 #[cfg(not(feature = "Foundation"))] usize, 531 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 532 ); 533 #[repr(transparent)] 534 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 535 #[doc(hidden)] 536 pub struct IUsbInterruptInEventArgs(::windows::runtime::IInspectable); 537 unsafe impl ::windows::runtime::Interface for IUsbInterruptInEventArgs { 538 type Vtable = IUsbInterruptInEventArgs_abi; 539 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3081781394, 5144, 18742, [130, 9, 41, 156, 245, 96, 85, 131]); 540 } 541 #[repr(C)] 542 #[doc(hidden)] 543 pub struct IUsbInterruptInEventArgs_abi( 544 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 545 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 546 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 547 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 548 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 549 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 550 #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 551 #[cfg(not(feature = "Storage_Streams"))] usize, 552 ); 553 #[repr(transparent)] 554 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 555 #[doc(hidden)] 556 pub struct IUsbInterruptInPipe(::windows::runtime::IInspectable); 557 unsafe impl ::windows::runtime::Interface for IUsbInterruptInPipe { 558 type Vtable = IUsbInterruptInPipe_abi; 559 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4194332950, 34007, 18631, [138, 63, 76, 11, 35, 95, 46, 166]); 560 } 561 #[repr(C)] 562 #[doc(hidden)] 563 pub struct IUsbInterruptInPipe_abi( 564 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 565 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 566 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 567 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 568 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 569 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 570 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 571 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 572 #[cfg(not(feature = "Foundation"))] usize, 573 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, handler: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT, 574 #[cfg(not(feature = "Foundation"))] usize, 575 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, token: super::super::Foundation::EventRegistrationToken) -> ::windows::runtime::HRESULT, 576 #[cfg(not(feature = "Foundation"))] usize, 577 ); 578 #[repr(transparent)] 579 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 580 #[doc(hidden)] 581 pub struct IUsbInterruptOutEndpointDescriptor(::windows::runtime::IInspectable); 582 unsafe impl ::windows::runtime::Interface for IUsbInterruptOutEndpointDescriptor { 583 type Vtable = IUsbInterruptOutEndpointDescriptor_abi; 584 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3433033089, 4298, 17715, [149, 45, 158, 39, 131, 65, 232, 15]); 585 } 586 #[repr(C)] 587 #[doc(hidden)] 588 pub struct IUsbInterruptOutEndpointDescriptor_abi( 589 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 590 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 591 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 592 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 593 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 594 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 595 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT, 596 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u8) -> ::windows::runtime::HRESULT, 597 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut super::super::Foundation::TimeSpan) -> ::windows::runtime::HRESULT, 598 #[cfg(not(feature = "Foundation"))] usize, 599 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 600 ); 601 #[repr(transparent)] 602 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 603 #[doc(hidden)] 604 pub struct IUsbInterruptOutPipe(::windows::runtime::IInspectable); 605 unsafe impl ::windows::runtime::Interface for IUsbInterruptOutPipe { 606 type Vtable = IUsbInterruptOutPipe_abi; 607 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3917793449, 43769, 18896, [185, 108, 246, 97, 171, 74, 127, 149]); 608 } 609 #[repr(C)] 610 #[doc(hidden)] 611 pub struct IUsbInterruptOutPipe_abi( 612 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 613 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 614 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 615 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 616 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 617 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 618 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 619 #[cfg(feature = "Foundation")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 620 #[cfg(not(feature = "Foundation"))] usize, 621 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: UsbWriteOptions) -> ::windows::runtime::HRESULT, 622 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut UsbWriteOptions) -> ::windows::runtime::HRESULT, 623 #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 624 #[cfg(not(feature = "Storage_Streams"))] usize, 625 ); 626 #[repr(transparent)] 627 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 628 #[doc(hidden)] 629 pub struct IUsbSetupPacket(::windows::runtime::IInspectable); 630 unsafe impl ::windows::runtime::Interface for IUsbSetupPacket { 631 type Vtable = IUsbSetupPacket_abi; 632 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(273391922, 51087, 19537, [182, 84, 228, 157, 2, 242, 203, 3]); 633 } 634 #[repr(C)] 635 #[doc(hidden)] 636 pub struct IUsbSetupPacket_abi( 637 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 638 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 639 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 640 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 641 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 642 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 643 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 644 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 645 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u8) -> ::windows::runtime::HRESULT, 646 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: u8) -> ::windows::runtime::HRESULT, 647 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT, 648 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: u32) -> ::windows::runtime::HRESULT, 649 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT, 650 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: u32) -> ::windows::runtime::HRESULT, 651 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, result__: *mut u32) -> ::windows::runtime::HRESULT, 652 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: u32) -> ::windows::runtime::HRESULT, 653 ); 654 #[repr(transparent)] 655 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 656 #[doc(hidden)] 657 pub struct IUsbSetupPacketFactory(::windows::runtime::IInspectable); 658 unsafe impl ::windows::runtime::Interface for IUsbSetupPacketFactory { 659 type Vtable = IUsbSetupPacketFactory_abi; 660 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3374677328, 6958, 19009, [162, 167, 51, 143, 12, 239, 60, 20]); 661 } 662 #[repr(C)] 663 #[doc(hidden)] 664 pub struct IUsbSetupPacketFactory_abi( 665 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, iid: &::windows::runtime::GUID, interface: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 666 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 667 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr) -> u32, 668 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, count: *mut u32, values: *mut *mut ::windows::runtime::GUID) -> ::windows::runtime::HRESULT, 669 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 670 pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, value: *mut i32) -> ::windows::runtime::HRESULT, 671 #[cfg(feature = "Storage_Streams")] pub unsafe extern "system" fn(this: ::windows::runtime::RawPtr, eightbytebuffer: ::windows::runtime::RawPtr, result__: *mut ::windows::runtime::RawPtr) -> ::windows::runtime::HRESULT, 672 #[cfg(not(feature = "Storage_Streams"))] usize, 673 ); 674 #[repr(transparent)] 675 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 676 pub struct UsbBulkInEndpointDescriptor(::windows::runtime::IInspectable); 677 impl UsbBulkInEndpointDescriptor { MaxPacketSize(&self) -> ::windows::runtime::Result<u32>678 pub fn MaxPacketSize(&self) -> ::windows::runtime::Result<u32> { 679 let this = self; 680 unsafe { 681 let mut result__: u32 = ::std::mem::zeroed(); 682 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__) 683 } 684 } EndpointNumber(&self) -> ::windows::runtime::Result<u8>685 pub fn EndpointNumber(&self) -> ::windows::runtime::Result<u8> { 686 let this = self; 687 unsafe { 688 let mut result__: u8 = ::std::mem::zeroed(); 689 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u8>(result__) 690 } 691 } Pipe(&self) -> ::windows::runtime::Result<UsbBulkInPipe>692 pub fn Pipe(&self) -> ::windows::runtime::Result<UsbBulkInPipe> { 693 let this = self; 694 unsafe { 695 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 696 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UsbBulkInPipe>(result__) 697 } 698 } 699 } 700 unsafe impl ::windows::runtime::RuntimeType for UsbBulkInEndpointDescriptor { 701 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.Usb.UsbBulkInEndpointDescriptor;{3c6e4846-06cf-42a9-9dc2-971c1b14b6e3})"); 702 } 703 unsafe impl ::windows::runtime::Interface for UsbBulkInEndpointDescriptor { 704 type Vtable = IUsbBulkInEndpointDescriptor_abi; 705 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1013860422, 1743, 17065, [157, 194, 151, 28, 27, 20, 182, 227]); 706 } 707 impl ::windows::runtime::RuntimeName for UsbBulkInEndpointDescriptor { 708 const NAME: &'static str = "Windows.Devices.Usb.UsbBulkInEndpointDescriptor"; 709 } 710 impl ::std::convert::From<UsbBulkInEndpointDescriptor> for ::windows::runtime::IUnknown { from(value: UsbBulkInEndpointDescriptor) -> Self711 fn from(value: UsbBulkInEndpointDescriptor) -> Self { 712 unsafe { ::std::mem::transmute(value) } 713 } 714 } 715 impl ::std::convert::From<&UsbBulkInEndpointDescriptor> for ::windows::runtime::IUnknown { from(value: &UsbBulkInEndpointDescriptor) -> Self716 fn from(value: &UsbBulkInEndpointDescriptor) -> Self { 717 ::std::convert::From::from(::std::clone::Clone::clone(value)) 718 } 719 } 720 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for UsbBulkInEndpointDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>721 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 722 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self)) 723 } 724 } 725 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &UsbBulkInEndpointDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>726 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 727 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self))) 728 } 729 } 730 impl ::std::convert::From<UsbBulkInEndpointDescriptor> for ::windows::runtime::IInspectable { from(value: UsbBulkInEndpointDescriptor) -> Self731 fn from(value: UsbBulkInEndpointDescriptor) -> Self { 732 value.0 733 } 734 } 735 impl ::std::convert::From<&UsbBulkInEndpointDescriptor> for ::windows::runtime::IInspectable { from(value: &UsbBulkInEndpointDescriptor) -> Self736 fn from(value: &UsbBulkInEndpointDescriptor) -> Self { 737 value.0.clone() 738 } 739 } 740 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for UsbBulkInEndpointDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>741 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 742 ::windows::runtime::Param::Owned(self.0) 743 } 744 } 745 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a UsbBulkInEndpointDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>746 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 747 ::windows::runtime::Param::Borrowed(&self.0) 748 } 749 } 750 unsafe impl ::std::marker::Send for UsbBulkInEndpointDescriptor {} 751 unsafe impl ::std::marker::Sync for UsbBulkInEndpointDescriptor {} 752 #[repr(transparent)] 753 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 754 pub struct UsbBulkInPipe(::windows::runtime::IInspectable); 755 impl UsbBulkInPipe { MaxTransferSizeBytes(&self) -> ::windows::runtime::Result<u32>756 pub fn MaxTransferSizeBytes(&self) -> ::windows::runtime::Result<u32> { 757 let this = self; 758 unsafe { 759 let mut result__: u32 = ::std::mem::zeroed(); 760 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__) 761 } 762 } EndpointDescriptor(&self) -> ::windows::runtime::Result<UsbBulkInEndpointDescriptor>763 pub fn EndpointDescriptor(&self) -> ::windows::runtime::Result<UsbBulkInEndpointDescriptor> { 764 let this = self; 765 unsafe { 766 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 767 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UsbBulkInEndpointDescriptor>(result__) 768 } 769 } 770 #[cfg(feature = "Foundation")] ClearStallAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>771 pub fn ClearStallAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> { 772 let this = self; 773 unsafe { 774 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 775 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__) 776 } 777 } SetReadOptions(&self, value: UsbReadOptions) -> ::windows::runtime::Result<()>778 pub fn SetReadOptions(&self, value: UsbReadOptions) -> ::windows::runtime::Result<()> { 779 let this = self; 780 unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() } 781 } ReadOptions(&self) -> ::windows::runtime::Result<UsbReadOptions>782 pub fn ReadOptions(&self) -> ::windows::runtime::Result<UsbReadOptions> { 783 let this = self; 784 unsafe { 785 let mut result__: UsbReadOptions = ::std::mem::zeroed(); 786 (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UsbReadOptions>(result__) 787 } 788 } FlushBuffer(&self) -> ::windows::runtime::Result<()>789 pub fn FlushBuffer(&self) -> ::windows::runtime::Result<()> { 790 let this = self; 791 unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this)).ok() } 792 } 793 #[cfg(feature = "Storage_Streams")] InputStream(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IInputStream>794 pub fn InputStream(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IInputStream> { 795 let this = self; 796 unsafe { 797 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 798 (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Storage::Streams::IInputStream>(result__) 799 } 800 } 801 } 802 unsafe impl ::windows::runtime::RuntimeType for UsbBulkInPipe { 803 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.Usb.UsbBulkInPipe;{f01d2d3b-4548-4d50-b326-d82cdabe1220})"); 804 } 805 unsafe impl ::windows::runtime::Interface for UsbBulkInPipe { 806 type Vtable = IUsbBulkInPipe_abi; 807 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4028443963, 17736, 19792, [179, 38, 216, 44, 218, 190, 18, 32]); 808 } 809 impl ::windows::runtime::RuntimeName for UsbBulkInPipe { 810 const NAME: &'static str = "Windows.Devices.Usb.UsbBulkInPipe"; 811 } 812 impl ::std::convert::From<UsbBulkInPipe> for ::windows::runtime::IUnknown { from(value: UsbBulkInPipe) -> Self813 fn from(value: UsbBulkInPipe) -> Self { 814 unsafe { ::std::mem::transmute(value) } 815 } 816 } 817 impl ::std::convert::From<&UsbBulkInPipe> for ::windows::runtime::IUnknown { from(value: &UsbBulkInPipe) -> Self818 fn from(value: &UsbBulkInPipe) -> Self { 819 ::std::convert::From::from(::std::clone::Clone::clone(value)) 820 } 821 } 822 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for UsbBulkInPipe { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>823 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 824 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self)) 825 } 826 } 827 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &UsbBulkInPipe { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>828 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 829 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self))) 830 } 831 } 832 impl ::std::convert::From<UsbBulkInPipe> for ::windows::runtime::IInspectable { from(value: UsbBulkInPipe) -> Self833 fn from(value: UsbBulkInPipe) -> Self { 834 value.0 835 } 836 } 837 impl ::std::convert::From<&UsbBulkInPipe> for ::windows::runtime::IInspectable { from(value: &UsbBulkInPipe) -> Self838 fn from(value: &UsbBulkInPipe) -> Self { 839 value.0.clone() 840 } 841 } 842 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for UsbBulkInPipe { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>843 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 844 ::windows::runtime::Param::Owned(self.0) 845 } 846 } 847 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a UsbBulkInPipe { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>848 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 849 ::windows::runtime::Param::Borrowed(&self.0) 850 } 851 } 852 unsafe impl ::std::marker::Send for UsbBulkInPipe {} 853 unsafe impl ::std::marker::Sync for UsbBulkInPipe {} 854 #[repr(transparent)] 855 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 856 pub struct UsbBulkOutEndpointDescriptor(::windows::runtime::IInspectable); 857 impl UsbBulkOutEndpointDescriptor { MaxPacketSize(&self) -> ::windows::runtime::Result<u32>858 pub fn MaxPacketSize(&self) -> ::windows::runtime::Result<u32> { 859 let this = self; 860 unsafe { 861 let mut result__: u32 = ::std::mem::zeroed(); 862 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__) 863 } 864 } EndpointNumber(&self) -> ::windows::runtime::Result<u8>865 pub fn EndpointNumber(&self) -> ::windows::runtime::Result<u8> { 866 let this = self; 867 unsafe { 868 let mut result__: u8 = ::std::mem::zeroed(); 869 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u8>(result__) 870 } 871 } Pipe(&self) -> ::windows::runtime::Result<UsbBulkOutPipe>872 pub fn Pipe(&self) -> ::windows::runtime::Result<UsbBulkOutPipe> { 873 let this = self; 874 unsafe { 875 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 876 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UsbBulkOutPipe>(result__) 877 } 878 } 879 } 880 unsafe impl ::windows::runtime::RuntimeType for UsbBulkOutEndpointDescriptor { 881 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.Usb.UsbBulkOutEndpointDescriptor;{2820847a-ffee-4f60-9be1-956cac3ecb65})"); 882 } 883 unsafe impl ::windows::runtime::Interface for UsbBulkOutEndpointDescriptor { 884 type Vtable = IUsbBulkOutEndpointDescriptor_abi; 885 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(673219706, 65518, 20320, [155, 225, 149, 108, 172, 62, 203, 101]); 886 } 887 impl ::windows::runtime::RuntimeName for UsbBulkOutEndpointDescriptor { 888 const NAME: &'static str = "Windows.Devices.Usb.UsbBulkOutEndpointDescriptor"; 889 } 890 impl ::std::convert::From<UsbBulkOutEndpointDescriptor> for ::windows::runtime::IUnknown { from(value: UsbBulkOutEndpointDescriptor) -> Self891 fn from(value: UsbBulkOutEndpointDescriptor) -> Self { 892 unsafe { ::std::mem::transmute(value) } 893 } 894 } 895 impl ::std::convert::From<&UsbBulkOutEndpointDescriptor> for ::windows::runtime::IUnknown { from(value: &UsbBulkOutEndpointDescriptor) -> Self896 fn from(value: &UsbBulkOutEndpointDescriptor) -> Self { 897 ::std::convert::From::from(::std::clone::Clone::clone(value)) 898 } 899 } 900 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for UsbBulkOutEndpointDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>901 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 902 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self)) 903 } 904 } 905 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &UsbBulkOutEndpointDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>906 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 907 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self))) 908 } 909 } 910 impl ::std::convert::From<UsbBulkOutEndpointDescriptor> for ::windows::runtime::IInspectable { from(value: UsbBulkOutEndpointDescriptor) -> Self911 fn from(value: UsbBulkOutEndpointDescriptor) -> Self { 912 value.0 913 } 914 } 915 impl ::std::convert::From<&UsbBulkOutEndpointDescriptor> for ::windows::runtime::IInspectable { from(value: &UsbBulkOutEndpointDescriptor) -> Self916 fn from(value: &UsbBulkOutEndpointDescriptor) -> Self { 917 value.0.clone() 918 } 919 } 920 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for UsbBulkOutEndpointDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>921 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 922 ::windows::runtime::Param::Owned(self.0) 923 } 924 } 925 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a UsbBulkOutEndpointDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>926 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 927 ::windows::runtime::Param::Borrowed(&self.0) 928 } 929 } 930 unsafe impl ::std::marker::Send for UsbBulkOutEndpointDescriptor {} 931 unsafe impl ::std::marker::Sync for UsbBulkOutEndpointDescriptor {} 932 #[repr(transparent)] 933 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 934 pub struct UsbBulkOutPipe(::windows::runtime::IInspectable); 935 impl UsbBulkOutPipe { EndpointDescriptor(&self) -> ::windows::runtime::Result<UsbBulkOutEndpointDescriptor>936 pub fn EndpointDescriptor(&self) -> ::windows::runtime::Result<UsbBulkOutEndpointDescriptor> { 937 let this = self; 938 unsafe { 939 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 940 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UsbBulkOutEndpointDescriptor>(result__) 941 } 942 } 943 #[cfg(feature = "Foundation")] ClearStallAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>944 pub fn ClearStallAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> { 945 let this = self; 946 unsafe { 947 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 948 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__) 949 } 950 } SetWriteOptions(&self, value: UsbWriteOptions) -> ::windows::runtime::Result<()>951 pub fn SetWriteOptions(&self, value: UsbWriteOptions) -> ::windows::runtime::Result<()> { 952 let this = self; 953 unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value).ok() } 954 } WriteOptions(&self) -> ::windows::runtime::Result<UsbWriteOptions>955 pub fn WriteOptions(&self) -> ::windows::runtime::Result<UsbWriteOptions> { 956 let this = self; 957 unsafe { 958 let mut result__: UsbWriteOptions = ::std::mem::zeroed(); 959 (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UsbWriteOptions>(result__) 960 } 961 } 962 #[cfg(feature = "Storage_Streams")] OutputStream(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IOutputStream>963 pub fn OutputStream(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IOutputStream> { 964 let this = self; 965 unsafe { 966 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 967 (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Storage::Streams::IOutputStream>(result__) 968 } 969 } 970 } 971 unsafe impl ::windows::runtime::RuntimeType for UsbBulkOutPipe { 972 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.Usb.UsbBulkOutPipe;{a8e9ee6e-0115-45aa-8b21-37b225bccee7})"); 973 } 974 unsafe impl ::windows::runtime::Interface for UsbBulkOutPipe { 975 type Vtable = IUsbBulkOutPipe_abi; 976 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2833903214, 277, 17834, [139, 33, 55, 178, 37, 188, 206, 231]); 977 } 978 impl ::windows::runtime::RuntimeName for UsbBulkOutPipe { 979 const NAME: &'static str = "Windows.Devices.Usb.UsbBulkOutPipe"; 980 } 981 impl ::std::convert::From<UsbBulkOutPipe> for ::windows::runtime::IUnknown { from(value: UsbBulkOutPipe) -> Self982 fn from(value: UsbBulkOutPipe) -> Self { 983 unsafe { ::std::mem::transmute(value) } 984 } 985 } 986 impl ::std::convert::From<&UsbBulkOutPipe> for ::windows::runtime::IUnknown { from(value: &UsbBulkOutPipe) -> Self987 fn from(value: &UsbBulkOutPipe) -> Self { 988 ::std::convert::From::from(::std::clone::Clone::clone(value)) 989 } 990 } 991 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for UsbBulkOutPipe { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>992 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 993 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self)) 994 } 995 } 996 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &UsbBulkOutPipe { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>997 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 998 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self))) 999 } 1000 } 1001 impl ::std::convert::From<UsbBulkOutPipe> for ::windows::runtime::IInspectable { from(value: UsbBulkOutPipe) -> Self1002 fn from(value: UsbBulkOutPipe) -> Self { 1003 value.0 1004 } 1005 } 1006 impl ::std::convert::From<&UsbBulkOutPipe> for ::windows::runtime::IInspectable { from(value: &UsbBulkOutPipe) -> Self1007 fn from(value: &UsbBulkOutPipe) -> Self { 1008 value.0.clone() 1009 } 1010 } 1011 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for UsbBulkOutPipe { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1012 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 1013 ::windows::runtime::Param::Owned(self.0) 1014 } 1015 } 1016 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a UsbBulkOutPipe { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1017 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 1018 ::windows::runtime::Param::Borrowed(&self.0) 1019 } 1020 } 1021 unsafe impl ::std::marker::Send for UsbBulkOutPipe {} 1022 unsafe impl ::std::marker::Sync for UsbBulkOutPipe {} 1023 #[repr(transparent)] 1024 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 1025 pub struct UsbConfiguration(::windows::runtime::IInspectable); 1026 impl UsbConfiguration { 1027 #[cfg(feature = "Foundation_Collections")] UsbInterfaces(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<UsbInterface>>1028 pub fn UsbInterfaces(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<UsbInterface>> { 1029 let this = self; 1030 unsafe { 1031 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1032 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<UsbInterface>>(result__) 1033 } 1034 } ConfigurationDescriptor(&self) -> ::windows::runtime::Result<UsbConfigurationDescriptor>1035 pub fn ConfigurationDescriptor(&self) -> ::windows::runtime::Result<UsbConfigurationDescriptor> { 1036 let this = self; 1037 unsafe { 1038 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1039 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UsbConfigurationDescriptor>(result__) 1040 } 1041 } 1042 #[cfg(feature = "Foundation_Collections")] Descriptors(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<UsbDescriptor>>1043 pub fn Descriptors(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<UsbDescriptor>> { 1044 let this = self; 1045 unsafe { 1046 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1047 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<UsbDescriptor>>(result__) 1048 } 1049 } 1050 } 1051 unsafe impl ::windows::runtime::RuntimeType for UsbConfiguration { 1052 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.Usb.UsbConfiguration;{68177429-36a9-46d7-b873-fc689251ec30})"); 1053 } 1054 unsafe impl ::windows::runtime::Interface for UsbConfiguration { 1055 type Vtable = IUsbConfiguration_abi; 1056 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1746367529, 13993, 18135, [184, 115, 252, 104, 146, 81, 236, 48]); 1057 } 1058 impl ::windows::runtime::RuntimeName for UsbConfiguration { 1059 const NAME: &'static str = "Windows.Devices.Usb.UsbConfiguration"; 1060 } 1061 impl ::std::convert::From<UsbConfiguration> for ::windows::runtime::IUnknown { from(value: UsbConfiguration) -> Self1062 fn from(value: UsbConfiguration) -> Self { 1063 unsafe { ::std::mem::transmute(value) } 1064 } 1065 } 1066 impl ::std::convert::From<&UsbConfiguration> for ::windows::runtime::IUnknown { from(value: &UsbConfiguration) -> Self1067 fn from(value: &UsbConfiguration) -> Self { 1068 ::std::convert::From::from(::std::clone::Clone::clone(value)) 1069 } 1070 } 1071 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for UsbConfiguration { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1072 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 1073 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self)) 1074 } 1075 } 1076 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &UsbConfiguration { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1077 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 1078 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self))) 1079 } 1080 } 1081 impl ::std::convert::From<UsbConfiguration> for ::windows::runtime::IInspectable { from(value: UsbConfiguration) -> Self1082 fn from(value: UsbConfiguration) -> Self { 1083 value.0 1084 } 1085 } 1086 impl ::std::convert::From<&UsbConfiguration> for ::windows::runtime::IInspectable { from(value: &UsbConfiguration) -> Self1087 fn from(value: &UsbConfiguration) -> Self { 1088 value.0.clone() 1089 } 1090 } 1091 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for UsbConfiguration { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1092 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 1093 ::windows::runtime::Param::Owned(self.0) 1094 } 1095 } 1096 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a UsbConfiguration { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1097 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 1098 ::windows::runtime::Param::Borrowed(&self.0) 1099 } 1100 } 1101 unsafe impl ::std::marker::Send for UsbConfiguration {} 1102 unsafe impl ::std::marker::Sync for UsbConfiguration {} 1103 #[repr(transparent)] 1104 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 1105 pub struct UsbConfigurationDescriptor(::windows::runtime::IInspectable); 1106 impl UsbConfigurationDescriptor { ConfigurationValue(&self) -> ::windows::runtime::Result<u8>1107 pub fn ConfigurationValue(&self) -> ::windows::runtime::Result<u8> { 1108 let this = self; 1109 unsafe { 1110 let mut result__: u8 = ::std::mem::zeroed(); 1111 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u8>(result__) 1112 } 1113 } MaxPowerMilliamps(&self) -> ::windows::runtime::Result<u32>1114 pub fn MaxPowerMilliamps(&self) -> ::windows::runtime::Result<u32> { 1115 let this = self; 1116 unsafe { 1117 let mut result__: u32 = ::std::mem::zeroed(); 1118 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__) 1119 } 1120 } SelfPowered(&self) -> ::windows::runtime::Result<bool>1121 pub fn SelfPowered(&self) -> ::windows::runtime::Result<bool> { 1122 let this = self; 1123 unsafe { 1124 let mut result__: bool = ::std::mem::zeroed(); 1125 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__) 1126 } 1127 } RemoteWakeup(&self) -> ::windows::runtime::Result<bool>1128 pub fn RemoteWakeup(&self) -> ::windows::runtime::Result<bool> { 1129 let this = self; 1130 unsafe { 1131 let mut result__: bool = ::std::mem::zeroed(); 1132 (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__) 1133 } 1134 } TryParse<'a, Param0: ::windows::runtime::IntoParam<'a, UsbDescriptor>>(descriptor: Param0, parsed: &mut ::std::option::Option<UsbConfigurationDescriptor>) -> ::windows::runtime::Result<bool>1135 pub fn TryParse<'a, Param0: ::windows::runtime::IntoParam<'a, UsbDescriptor>>(descriptor: Param0, parsed: &mut ::std::option::Option<UsbConfigurationDescriptor>) -> ::windows::runtime::Result<bool> { 1136 Self::IUsbConfigurationDescriptorStatics(|this| unsafe { 1137 let mut result__: bool = ::std::mem::zeroed(); 1138 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), descriptor.into_param().abi(), parsed as *mut _ as _, &mut result__).from_abi::<bool>(result__) 1139 }) 1140 } Parse<'a, Param0: ::windows::runtime::IntoParam<'a, UsbDescriptor>>(descriptor: Param0) -> ::windows::runtime::Result<UsbConfigurationDescriptor>1141 pub fn Parse<'a, Param0: ::windows::runtime::IntoParam<'a, UsbDescriptor>>(descriptor: Param0) -> ::windows::runtime::Result<UsbConfigurationDescriptor> { 1142 Self::IUsbConfigurationDescriptorStatics(|this| unsafe { 1143 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1144 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), descriptor.into_param().abi(), &mut result__).from_abi::<UsbConfigurationDescriptor>(result__) 1145 }) 1146 } IUsbConfigurationDescriptorStatics<R, F: FnOnce(&IUsbConfigurationDescriptorStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1147 pub fn IUsbConfigurationDescriptorStatics<R, F: FnOnce(&IUsbConfigurationDescriptorStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> { 1148 static mut SHARED: ::windows::runtime::FactoryCache<UsbConfigurationDescriptor, IUsbConfigurationDescriptorStatics> = ::windows::runtime::FactoryCache::new(); 1149 unsafe { SHARED.call(callback) } 1150 } 1151 } 1152 unsafe impl ::windows::runtime::RuntimeType for UsbConfigurationDescriptor { 1153 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.Usb.UsbConfigurationDescriptor;{f2176d92-b442-407a-8207-7d646c0385f3})"); 1154 } 1155 unsafe impl ::windows::runtime::Interface for UsbConfigurationDescriptor { 1156 type Vtable = IUsbConfigurationDescriptor_abi; 1157 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4061621650, 46146, 16506, [130, 7, 125, 100, 108, 3, 133, 243]); 1158 } 1159 impl ::windows::runtime::RuntimeName for UsbConfigurationDescriptor { 1160 const NAME: &'static str = "Windows.Devices.Usb.UsbConfigurationDescriptor"; 1161 } 1162 impl ::std::convert::From<UsbConfigurationDescriptor> for ::windows::runtime::IUnknown { from(value: UsbConfigurationDescriptor) -> Self1163 fn from(value: UsbConfigurationDescriptor) -> Self { 1164 unsafe { ::std::mem::transmute(value) } 1165 } 1166 } 1167 impl ::std::convert::From<&UsbConfigurationDescriptor> for ::windows::runtime::IUnknown { from(value: &UsbConfigurationDescriptor) -> Self1168 fn from(value: &UsbConfigurationDescriptor) -> Self { 1169 ::std::convert::From::from(::std::clone::Clone::clone(value)) 1170 } 1171 } 1172 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for UsbConfigurationDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1173 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 1174 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self)) 1175 } 1176 } 1177 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &UsbConfigurationDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1178 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 1179 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self))) 1180 } 1181 } 1182 impl ::std::convert::From<UsbConfigurationDescriptor> for ::windows::runtime::IInspectable { from(value: UsbConfigurationDescriptor) -> Self1183 fn from(value: UsbConfigurationDescriptor) -> Self { 1184 value.0 1185 } 1186 } 1187 impl ::std::convert::From<&UsbConfigurationDescriptor> for ::windows::runtime::IInspectable { from(value: &UsbConfigurationDescriptor) -> Self1188 fn from(value: &UsbConfigurationDescriptor) -> Self { 1189 value.0.clone() 1190 } 1191 } 1192 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for UsbConfigurationDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1193 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 1194 ::windows::runtime::Param::Owned(self.0) 1195 } 1196 } 1197 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a UsbConfigurationDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1198 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 1199 ::windows::runtime::Param::Borrowed(&self.0) 1200 } 1201 } 1202 unsafe impl ::std::marker::Send for UsbConfigurationDescriptor {} 1203 unsafe impl ::std::marker::Sync for UsbConfigurationDescriptor {} 1204 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)] 1205 #[repr(transparent)] 1206 pub struct UsbControlRecipient(pub i32); 1207 impl UsbControlRecipient { 1208 pub const Device: UsbControlRecipient = UsbControlRecipient(0i32); 1209 pub const SpecifiedInterface: UsbControlRecipient = UsbControlRecipient(1i32); 1210 pub const Endpoint: UsbControlRecipient = UsbControlRecipient(2i32); 1211 pub const Other: UsbControlRecipient = UsbControlRecipient(3i32); 1212 pub const DefaultInterface: UsbControlRecipient = UsbControlRecipient(4i32); 1213 } 1214 impl ::std::convert::From<i32> for UsbControlRecipient { from(value: i32) -> Self1215 fn from(value: i32) -> Self { 1216 Self(value) 1217 } 1218 } 1219 unsafe impl ::windows::runtime::Abi for UsbControlRecipient { 1220 type Abi = Self; 1221 type DefaultType = Self; 1222 } 1223 unsafe impl ::windows::runtime::RuntimeType for UsbControlRecipient { 1224 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Devices.Usb.UsbControlRecipient;i4)"); 1225 } 1226 #[repr(transparent)] 1227 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 1228 pub struct UsbControlRequestType(::windows::runtime::IInspectable); 1229 impl UsbControlRequestType { new() -> ::windows::runtime::Result<Self>1230 pub fn new() -> ::windows::runtime::Result<Self> { 1231 Self::IActivationFactory(|f| f.activate_instance::<Self>()) 1232 } IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1233 fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> { 1234 static mut SHARED: ::windows::runtime::FactoryCache<UsbControlRequestType, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new(); 1235 unsafe { SHARED.call(callback) } 1236 } Direction(&self) -> ::windows::runtime::Result<UsbTransferDirection>1237 pub fn Direction(&self) -> ::windows::runtime::Result<UsbTransferDirection> { 1238 let this = self; 1239 unsafe { 1240 let mut result__: UsbTransferDirection = ::std::mem::zeroed(); 1241 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UsbTransferDirection>(result__) 1242 } 1243 } SetDirection(&self, value: UsbTransferDirection) -> ::windows::runtime::Result<()>1244 pub fn SetDirection(&self, value: UsbTransferDirection) -> ::windows::runtime::Result<()> { 1245 let this = self; 1246 unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() } 1247 } ControlTransferType(&self) -> ::windows::runtime::Result<UsbControlTransferType>1248 pub fn ControlTransferType(&self) -> ::windows::runtime::Result<UsbControlTransferType> { 1249 let this = self; 1250 unsafe { 1251 let mut result__: UsbControlTransferType = ::std::mem::zeroed(); 1252 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UsbControlTransferType>(result__) 1253 } 1254 } SetControlTransferType(&self, value: UsbControlTransferType) -> ::windows::runtime::Result<()>1255 pub fn SetControlTransferType(&self, value: UsbControlTransferType) -> ::windows::runtime::Result<()> { 1256 let this = self; 1257 unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() } 1258 } Recipient(&self) -> ::windows::runtime::Result<UsbControlRecipient>1259 pub fn Recipient(&self) -> ::windows::runtime::Result<UsbControlRecipient> { 1260 let this = self; 1261 unsafe { 1262 let mut result__: UsbControlRecipient = ::std::mem::zeroed(); 1263 (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UsbControlRecipient>(result__) 1264 } 1265 } SetRecipient(&self, value: UsbControlRecipient) -> ::windows::runtime::Result<()>1266 pub fn SetRecipient(&self, value: UsbControlRecipient) -> ::windows::runtime::Result<()> { 1267 let this = self; 1268 unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() } 1269 } AsByte(&self) -> ::windows::runtime::Result<u8>1270 pub fn AsByte(&self) -> ::windows::runtime::Result<u8> { 1271 let this = self; 1272 unsafe { 1273 let mut result__: u8 = ::std::mem::zeroed(); 1274 (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u8>(result__) 1275 } 1276 } SetAsByte(&self, value: u8) -> ::windows::runtime::Result<()>1277 pub fn SetAsByte(&self, value: u8) -> ::windows::runtime::Result<()> { 1278 let this = self; 1279 unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() } 1280 } 1281 } 1282 unsafe impl ::windows::runtime::RuntimeType for UsbControlRequestType { 1283 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.Usb.UsbControlRequestType;{8e9465a6-d73d-46de-94be-aae7f07c0f5c})"); 1284 } 1285 unsafe impl ::windows::runtime::Interface for UsbControlRequestType { 1286 type Vtable = IUsbControlRequestType_abi; 1287 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2392090022, 55101, 18142, [148, 190, 170, 231, 240, 124, 15, 92]); 1288 } 1289 impl ::windows::runtime::RuntimeName for UsbControlRequestType { 1290 const NAME: &'static str = "Windows.Devices.Usb.UsbControlRequestType"; 1291 } 1292 impl ::std::convert::From<UsbControlRequestType> for ::windows::runtime::IUnknown { from(value: UsbControlRequestType) -> Self1293 fn from(value: UsbControlRequestType) -> Self { 1294 unsafe { ::std::mem::transmute(value) } 1295 } 1296 } 1297 impl ::std::convert::From<&UsbControlRequestType> for ::windows::runtime::IUnknown { from(value: &UsbControlRequestType) -> Self1298 fn from(value: &UsbControlRequestType) -> Self { 1299 ::std::convert::From::from(::std::clone::Clone::clone(value)) 1300 } 1301 } 1302 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for UsbControlRequestType { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1303 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 1304 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self)) 1305 } 1306 } 1307 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &UsbControlRequestType { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1308 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 1309 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self))) 1310 } 1311 } 1312 impl ::std::convert::From<UsbControlRequestType> for ::windows::runtime::IInspectable { from(value: UsbControlRequestType) -> Self1313 fn from(value: UsbControlRequestType) -> Self { 1314 value.0 1315 } 1316 } 1317 impl ::std::convert::From<&UsbControlRequestType> for ::windows::runtime::IInspectable { from(value: &UsbControlRequestType) -> Self1318 fn from(value: &UsbControlRequestType) -> Self { 1319 value.0.clone() 1320 } 1321 } 1322 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for UsbControlRequestType { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1323 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 1324 ::windows::runtime::Param::Owned(self.0) 1325 } 1326 } 1327 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a UsbControlRequestType { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1328 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 1329 ::windows::runtime::Param::Borrowed(&self.0) 1330 } 1331 } 1332 unsafe impl ::std::marker::Send for UsbControlRequestType {} 1333 unsafe impl ::std::marker::Sync for UsbControlRequestType {} 1334 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)] 1335 #[repr(transparent)] 1336 pub struct UsbControlTransferType(pub i32); 1337 impl UsbControlTransferType { 1338 pub const Standard: UsbControlTransferType = UsbControlTransferType(0i32); 1339 pub const Class: UsbControlTransferType = UsbControlTransferType(1i32); 1340 pub const Vendor: UsbControlTransferType = UsbControlTransferType(2i32); 1341 } 1342 impl ::std::convert::From<i32> for UsbControlTransferType { from(value: i32) -> Self1343 fn from(value: i32) -> Self { 1344 Self(value) 1345 } 1346 } 1347 unsafe impl ::windows::runtime::Abi for UsbControlTransferType { 1348 type Abi = Self; 1349 type DefaultType = Self; 1350 } 1351 unsafe impl ::windows::runtime::RuntimeType for UsbControlTransferType { 1352 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Devices.Usb.UsbControlTransferType;i4)"); 1353 } 1354 #[repr(transparent)] 1355 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 1356 pub struct UsbDescriptor(::windows::runtime::IInspectable); 1357 impl UsbDescriptor { Length(&self) -> ::windows::runtime::Result<u8>1358 pub fn Length(&self) -> ::windows::runtime::Result<u8> { 1359 let this = self; 1360 unsafe { 1361 let mut result__: u8 = ::std::mem::zeroed(); 1362 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u8>(result__) 1363 } 1364 } DescriptorType(&self) -> ::windows::runtime::Result<u8>1365 pub fn DescriptorType(&self) -> ::windows::runtime::Result<u8> { 1366 let this = self; 1367 unsafe { 1368 let mut result__: u8 = ::std::mem::zeroed(); 1369 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u8>(result__) 1370 } 1371 } 1372 #[cfg(feature = "Storage_Streams")] ReadDescriptorBuffer<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IBuffer>>(&self, buffer: Param0) -> ::windows::runtime::Result<()>1373 pub fn ReadDescriptorBuffer<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IBuffer>>(&self, buffer: Param0) -> ::windows::runtime::Result<()> { 1374 let this = self; 1375 unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), buffer.into_param().abi()).ok() } 1376 } 1377 } 1378 unsafe impl ::windows::runtime::RuntimeType for UsbDescriptor { 1379 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.Usb.UsbDescriptor;{0a89f216-5f9d-4874-8904-da9ad3f5528f})"); 1380 } 1381 unsafe impl ::windows::runtime::Interface for UsbDescriptor { 1382 type Vtable = IUsbDescriptor_abi; 1383 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(176812566, 24477, 18548, [137, 4, 218, 154, 211, 245, 82, 143]); 1384 } 1385 impl ::windows::runtime::RuntimeName for UsbDescriptor { 1386 const NAME: &'static str = "Windows.Devices.Usb.UsbDescriptor"; 1387 } 1388 impl ::std::convert::From<UsbDescriptor> for ::windows::runtime::IUnknown { from(value: UsbDescriptor) -> Self1389 fn from(value: UsbDescriptor) -> Self { 1390 unsafe { ::std::mem::transmute(value) } 1391 } 1392 } 1393 impl ::std::convert::From<&UsbDescriptor> for ::windows::runtime::IUnknown { from(value: &UsbDescriptor) -> Self1394 fn from(value: &UsbDescriptor) -> Self { 1395 ::std::convert::From::from(::std::clone::Clone::clone(value)) 1396 } 1397 } 1398 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for UsbDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1399 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 1400 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self)) 1401 } 1402 } 1403 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &UsbDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1404 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 1405 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self))) 1406 } 1407 } 1408 impl ::std::convert::From<UsbDescriptor> for ::windows::runtime::IInspectable { from(value: UsbDescriptor) -> Self1409 fn from(value: UsbDescriptor) -> Self { 1410 value.0 1411 } 1412 } 1413 impl ::std::convert::From<&UsbDescriptor> for ::windows::runtime::IInspectable { from(value: &UsbDescriptor) -> Self1414 fn from(value: &UsbDescriptor) -> Self { 1415 value.0.clone() 1416 } 1417 } 1418 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for UsbDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1419 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 1420 ::windows::runtime::Param::Owned(self.0) 1421 } 1422 } 1423 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a UsbDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1424 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 1425 ::windows::runtime::Param::Borrowed(&self.0) 1426 } 1427 } 1428 unsafe impl ::std::marker::Send for UsbDescriptor {} 1429 unsafe impl ::std::marker::Sync for UsbDescriptor {} 1430 #[repr(transparent)] 1431 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 1432 pub struct UsbDevice(::windows::runtime::IInspectable); 1433 impl UsbDevice { 1434 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] SendControlOutTransferAsync<'a, Param0: ::windows::runtime::IntoParam<'a, UsbSetupPacket>, Param1: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IBuffer>>(&self, setuppacket: Param0, buffer: Param1) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<u32>>1435 pub fn SendControlOutTransferAsync<'a, Param0: ::windows::runtime::IntoParam<'a, UsbSetupPacket>, Param1: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IBuffer>>(&self, setuppacket: Param0, buffer: Param1) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<u32>> { 1436 let this = self; 1437 unsafe { 1438 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1439 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), setuppacket.into_param().abi(), buffer.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<u32>>(result__) 1440 } 1441 } 1442 #[cfg(feature = "Foundation")] SendControlOutTransferAsyncNoBuffer<'a, Param0: ::windows::runtime::IntoParam<'a, UsbSetupPacket>>(&self, setuppacket: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<u32>>1443 pub fn SendControlOutTransferAsyncNoBuffer<'a, Param0: ::windows::runtime::IntoParam<'a, UsbSetupPacket>>(&self, setuppacket: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<u32>> { 1444 let this = self; 1445 unsafe { 1446 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1447 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), setuppacket.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<u32>>(result__) 1448 } 1449 } 1450 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] SendControlInTransferAsync<'a, Param0: ::windows::runtime::IntoParam<'a, UsbSetupPacket>, Param1: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IBuffer>>(&self, setuppacket: Param0, buffer: Param1) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Storage::Streams::IBuffer>>1451 pub fn SendControlInTransferAsync<'a, Param0: ::windows::runtime::IntoParam<'a, UsbSetupPacket>, Param1: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IBuffer>>(&self, setuppacket: Param0, buffer: Param1) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Storage::Streams::IBuffer>> { 1452 let this = self; 1453 unsafe { 1454 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1455 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), setuppacket.into_param().abi(), buffer.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<super::super::Storage::Streams::IBuffer>>(result__) 1456 } 1457 } 1458 #[cfg(all(feature = "Foundation", feature = "Storage_Streams"))] SendControlInTransferAsyncNoBuffer<'a, Param0: ::windows::runtime::IntoParam<'a, UsbSetupPacket>>(&self, setuppacket: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Storage::Streams::IBuffer>>1459 pub fn SendControlInTransferAsyncNoBuffer<'a, Param0: ::windows::runtime::IntoParam<'a, UsbSetupPacket>>(&self, setuppacket: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<super::super::Storage::Streams::IBuffer>> { 1460 let this = self; 1461 unsafe { 1462 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1463 (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), setuppacket.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<super::super::Storage::Streams::IBuffer>>(result__) 1464 } 1465 } DefaultInterface(&self) -> ::windows::runtime::Result<UsbInterface>1466 pub fn DefaultInterface(&self) -> ::windows::runtime::Result<UsbInterface> { 1467 let this = self; 1468 unsafe { 1469 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1470 (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UsbInterface>(result__) 1471 } 1472 } DeviceDescriptor(&self) -> ::windows::runtime::Result<UsbDeviceDescriptor>1473 pub fn DeviceDescriptor(&self) -> ::windows::runtime::Result<UsbDeviceDescriptor> { 1474 let this = self; 1475 unsafe { 1476 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1477 (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UsbDeviceDescriptor>(result__) 1478 } 1479 } Configuration(&self) -> ::windows::runtime::Result<UsbConfiguration>1480 pub fn Configuration(&self) -> ::windows::runtime::Result<UsbConfiguration> { 1481 let this = self; 1482 unsafe { 1483 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1484 (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UsbConfiguration>(result__) 1485 } 1486 } 1487 #[cfg(feature = "Foundation")] Close(&self) -> ::windows::runtime::Result<()>1488 pub fn Close(&self) -> ::windows::runtime::Result<()> { 1489 let this = &::windows::runtime::Interface::cast::<super::super::Foundation::IClosable>(self)?; 1490 unsafe { (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this)).ok() } 1491 } GetDeviceSelector<'a, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(vendorid: u32, productid: u32, winusbinterfaceclass: Param2) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1492 pub fn GetDeviceSelector<'a, Param2: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(vendorid: u32, productid: u32, winusbinterfaceclass: Param2) -> ::windows::runtime::Result<::windows::runtime::HSTRING> { 1493 Self::IUsbDeviceStatics(|this| unsafe { 1494 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed(); 1495 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), vendorid, productid, winusbinterfaceclass.into_param().abi(), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__) 1496 }) 1497 } GetDeviceSelectorGuidOnly<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(winusbinterfaceclass: Param0) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1498 pub fn GetDeviceSelectorGuidOnly<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::GUID>>(winusbinterfaceclass: Param0) -> ::windows::runtime::Result<::windows::runtime::HSTRING> { 1499 Self::IUsbDeviceStatics(|this| unsafe { 1500 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed(); 1501 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), winusbinterfaceclass.into_param().abi(), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__) 1502 }) 1503 } GetDeviceSelectorVidPidOnly(vendorid: u32, productid: u32) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1504 pub fn GetDeviceSelectorVidPidOnly(vendorid: u32, productid: u32) -> ::windows::runtime::Result<::windows::runtime::HSTRING> { 1505 Self::IUsbDeviceStatics(|this| unsafe { 1506 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed(); 1507 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), vendorid, productid, &mut result__).from_abi::<::windows::runtime::HSTRING>(result__) 1508 }) 1509 } GetDeviceClassSelector<'a, Param0: ::windows::runtime::IntoParam<'a, UsbDeviceClass>>(usbclass: Param0) -> ::windows::runtime::Result<::windows::runtime::HSTRING>1510 pub fn GetDeviceClassSelector<'a, Param0: ::windows::runtime::IntoParam<'a, UsbDeviceClass>>(usbclass: Param0) -> ::windows::runtime::Result<::windows::runtime::HSTRING> { 1511 Self::IUsbDeviceStatics(|this| unsafe { 1512 let mut result__: ::std::mem::ManuallyDrop<::windows::runtime::HSTRING> = ::std::mem::zeroed(); 1513 (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), usbclass.into_param().abi(), &mut result__).from_abi::<::windows::runtime::HSTRING>(result__) 1514 }) 1515 } 1516 #[cfg(feature = "Foundation")] FromIdAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(deviceid: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<UsbDevice>>1517 pub fn FromIdAsync<'a, Param0: ::windows::runtime::IntoParam<'a, ::windows::runtime::HSTRING>>(deviceid: Param0) -> ::windows::runtime::Result<super::super::Foundation::IAsyncOperation<UsbDevice>> { 1518 Self::IUsbDeviceStatics(|this| unsafe { 1519 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1520 (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), deviceid.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::IAsyncOperation<UsbDevice>>(result__) 1521 }) 1522 } IUsbDeviceStatics<R, F: FnOnce(&IUsbDeviceStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1523 pub fn IUsbDeviceStatics<R, F: FnOnce(&IUsbDeviceStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> { 1524 static mut SHARED: ::windows::runtime::FactoryCache<UsbDevice, IUsbDeviceStatics> = ::windows::runtime::FactoryCache::new(); 1525 unsafe { SHARED.call(callback) } 1526 } 1527 } 1528 unsafe impl ::windows::runtime::RuntimeType for UsbDevice { 1529 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.Usb.UsbDevice;{5249b992-c456-44d5-ad5e-24f5a089f63b})"); 1530 } 1531 unsafe impl ::windows::runtime::Interface for UsbDevice { 1532 type Vtable = IUsbDevice_abi; 1533 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1380563346, 50262, 17621, [173, 94, 36, 245, 160, 137, 246, 59]); 1534 } 1535 impl ::windows::runtime::RuntimeName for UsbDevice { 1536 const NAME: &'static str = "Windows.Devices.Usb.UsbDevice"; 1537 } 1538 impl ::std::convert::From<UsbDevice> for ::windows::runtime::IUnknown { from(value: UsbDevice) -> Self1539 fn from(value: UsbDevice) -> Self { 1540 unsafe { ::std::mem::transmute(value) } 1541 } 1542 } 1543 impl ::std::convert::From<&UsbDevice> for ::windows::runtime::IUnknown { from(value: &UsbDevice) -> Self1544 fn from(value: &UsbDevice) -> Self { 1545 ::std::convert::From::from(::std::clone::Clone::clone(value)) 1546 } 1547 } 1548 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for UsbDevice { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1549 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 1550 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self)) 1551 } 1552 } 1553 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &UsbDevice { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1554 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 1555 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self))) 1556 } 1557 } 1558 impl ::std::convert::From<UsbDevice> for ::windows::runtime::IInspectable { from(value: UsbDevice) -> Self1559 fn from(value: UsbDevice) -> Self { 1560 value.0 1561 } 1562 } 1563 impl ::std::convert::From<&UsbDevice> for ::windows::runtime::IInspectable { from(value: &UsbDevice) -> Self1564 fn from(value: &UsbDevice) -> Self { 1565 value.0.clone() 1566 } 1567 } 1568 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for UsbDevice { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1569 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 1570 ::windows::runtime::Param::Owned(self.0) 1571 } 1572 } 1573 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a UsbDevice { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1574 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 1575 ::windows::runtime::Param::Borrowed(&self.0) 1576 } 1577 } 1578 #[cfg(feature = "Foundation")] 1579 impl ::std::convert::TryFrom<UsbDevice> for super::super::Foundation::IClosable { 1580 type Error = ::windows::runtime::Error; try_from(value: UsbDevice) -> ::windows::runtime::Result<Self>1581 fn try_from(value: UsbDevice) -> ::windows::runtime::Result<Self> { 1582 ::std::convert::TryFrom::try_from(&value) 1583 } 1584 } 1585 #[cfg(feature = "Foundation")] 1586 impl ::std::convert::TryFrom<&UsbDevice> for super::super::Foundation::IClosable { 1587 type Error = ::windows::runtime::Error; try_from(value: &UsbDevice) -> ::windows::runtime::Result<Self>1588 fn try_from(value: &UsbDevice) -> ::windows::runtime::Result<Self> { 1589 ::windows::runtime::Interface::cast(value) 1590 } 1591 } 1592 #[cfg(feature = "Foundation")] 1593 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for UsbDevice { into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>1594 fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> { 1595 ::windows::runtime::IntoParam::into_param(&self) 1596 } 1597 } 1598 #[cfg(feature = "Foundation")] 1599 impl<'a> ::windows::runtime::IntoParam<'a, super::super::Foundation::IClosable> for &UsbDevice { into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable>1600 fn into_param(self) -> ::windows::runtime::Param<'a, super::super::Foundation::IClosable> { 1601 ::std::convert::TryInto::<super::super::Foundation::IClosable>::try_into(self).map(::windows::runtime::Param::Owned).unwrap_or(::windows::runtime::Param::None) 1602 } 1603 } 1604 unsafe impl ::std::marker::Send for UsbDevice {} 1605 unsafe impl ::std::marker::Sync for UsbDevice {} 1606 #[repr(transparent)] 1607 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 1608 pub struct UsbDeviceClass(::windows::runtime::IInspectable); 1609 impl UsbDeviceClass { new() -> ::windows::runtime::Result<Self>1610 pub fn new() -> ::windows::runtime::Result<Self> { 1611 Self::IActivationFactory(|f| f.activate_instance::<Self>()) 1612 } IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1613 fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> { 1614 static mut SHARED: ::windows::runtime::FactoryCache<UsbDeviceClass, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new(); 1615 unsafe { SHARED.call(callback) } 1616 } ClassCode(&self) -> ::windows::runtime::Result<u8>1617 pub fn ClassCode(&self) -> ::windows::runtime::Result<u8> { 1618 let this = self; 1619 unsafe { 1620 let mut result__: u8 = ::std::mem::zeroed(); 1621 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u8>(result__) 1622 } 1623 } SetClassCode(&self, value: u8) -> ::windows::runtime::Result<()>1624 pub fn SetClassCode(&self, value: u8) -> ::windows::runtime::Result<()> { 1625 let this = self; 1626 unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value).ok() } 1627 } 1628 #[cfg(feature = "Foundation")] SubclassCode(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<u8>>1629 pub fn SubclassCode(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<u8>> { 1630 let this = self; 1631 unsafe { 1632 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1633 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<u8>>(result__) 1634 } 1635 } 1636 #[cfg(feature = "Foundation")] SetSubclassCode<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<u8>>>(&self, value: Param0) -> ::windows::runtime::Result<()>1637 pub fn SetSubclassCode<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<u8>>>(&self, value: Param0) -> ::windows::runtime::Result<()> { 1638 let this = self; 1639 unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() } 1640 } 1641 #[cfg(feature = "Foundation")] ProtocolCode(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<u8>>1642 pub fn ProtocolCode(&self) -> ::windows::runtime::Result<super::super::Foundation::IReference<u8>> { 1643 let this = self; 1644 unsafe { 1645 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1646 (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IReference<u8>>(result__) 1647 } 1648 } 1649 #[cfg(feature = "Foundation")] SetProtocolCode<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<u8>>>(&self, value: Param0) -> ::windows::runtime::Result<()>1650 pub fn SetProtocolCode<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::IReference<u8>>>(&self, value: Param0) -> ::windows::runtime::Result<()> { 1651 let this = self; 1652 unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() } 1653 } 1654 } 1655 unsafe impl ::windows::runtime::RuntimeType for UsbDeviceClass { 1656 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.Usb.UsbDeviceClass;{051942f9-845e-47eb-b12a-38f2f617afe7})"); 1657 } 1658 unsafe impl ::windows::runtime::Interface for UsbDeviceClass { 1659 type Vtable = IUsbDeviceClass_abi; 1660 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(85541625, 33886, 18411, [177, 42, 56, 242, 246, 23, 175, 231]); 1661 } 1662 impl ::windows::runtime::RuntimeName for UsbDeviceClass { 1663 const NAME: &'static str = "Windows.Devices.Usb.UsbDeviceClass"; 1664 } 1665 impl ::std::convert::From<UsbDeviceClass> for ::windows::runtime::IUnknown { from(value: UsbDeviceClass) -> Self1666 fn from(value: UsbDeviceClass) -> Self { 1667 unsafe { ::std::mem::transmute(value) } 1668 } 1669 } 1670 impl ::std::convert::From<&UsbDeviceClass> for ::windows::runtime::IUnknown { from(value: &UsbDeviceClass) -> Self1671 fn from(value: &UsbDeviceClass) -> Self { 1672 ::std::convert::From::from(::std::clone::Clone::clone(value)) 1673 } 1674 } 1675 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for UsbDeviceClass { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1676 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 1677 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self)) 1678 } 1679 } 1680 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &UsbDeviceClass { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1681 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 1682 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self))) 1683 } 1684 } 1685 impl ::std::convert::From<UsbDeviceClass> for ::windows::runtime::IInspectable { from(value: UsbDeviceClass) -> Self1686 fn from(value: UsbDeviceClass) -> Self { 1687 value.0 1688 } 1689 } 1690 impl ::std::convert::From<&UsbDeviceClass> for ::windows::runtime::IInspectable { from(value: &UsbDeviceClass) -> Self1691 fn from(value: &UsbDeviceClass) -> Self { 1692 value.0.clone() 1693 } 1694 } 1695 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for UsbDeviceClass { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1696 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 1697 ::windows::runtime::Param::Owned(self.0) 1698 } 1699 } 1700 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a UsbDeviceClass { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1701 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 1702 ::windows::runtime::Param::Borrowed(&self.0) 1703 } 1704 } 1705 unsafe impl ::std::marker::Send for UsbDeviceClass {} 1706 unsafe impl ::std::marker::Sync for UsbDeviceClass {} 1707 #[repr(transparent)] 1708 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 1709 pub struct UsbDeviceClasses(::windows::runtime::IInspectable); 1710 impl UsbDeviceClasses { CdcControl() -> ::windows::runtime::Result<UsbDeviceClass>1711 pub fn CdcControl() -> ::windows::runtime::Result<UsbDeviceClass> { 1712 Self::IUsbDeviceClassesStatics(|this| unsafe { 1713 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1714 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UsbDeviceClass>(result__) 1715 }) 1716 } Physical() -> ::windows::runtime::Result<UsbDeviceClass>1717 pub fn Physical() -> ::windows::runtime::Result<UsbDeviceClass> { 1718 Self::IUsbDeviceClassesStatics(|this| unsafe { 1719 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1720 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UsbDeviceClass>(result__) 1721 }) 1722 } PersonalHealthcare() -> ::windows::runtime::Result<UsbDeviceClass>1723 pub fn PersonalHealthcare() -> ::windows::runtime::Result<UsbDeviceClass> { 1724 Self::IUsbDeviceClassesStatics(|this| unsafe { 1725 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1726 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UsbDeviceClass>(result__) 1727 }) 1728 } ActiveSync() -> ::windows::runtime::Result<UsbDeviceClass>1729 pub fn ActiveSync() -> ::windows::runtime::Result<UsbDeviceClass> { 1730 Self::IUsbDeviceClassesStatics(|this| unsafe { 1731 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1732 (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UsbDeviceClass>(result__) 1733 }) 1734 } PalmSync() -> ::windows::runtime::Result<UsbDeviceClass>1735 pub fn PalmSync() -> ::windows::runtime::Result<UsbDeviceClass> { 1736 Self::IUsbDeviceClassesStatics(|this| unsafe { 1737 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1738 (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UsbDeviceClass>(result__) 1739 }) 1740 } DeviceFirmwareUpdate() -> ::windows::runtime::Result<UsbDeviceClass>1741 pub fn DeviceFirmwareUpdate() -> ::windows::runtime::Result<UsbDeviceClass> { 1742 Self::IUsbDeviceClassesStatics(|this| unsafe { 1743 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1744 (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UsbDeviceClass>(result__) 1745 }) 1746 } Irda() -> ::windows::runtime::Result<UsbDeviceClass>1747 pub fn Irda() -> ::windows::runtime::Result<UsbDeviceClass> { 1748 Self::IUsbDeviceClassesStatics(|this| unsafe { 1749 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1750 (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UsbDeviceClass>(result__) 1751 }) 1752 } Measurement() -> ::windows::runtime::Result<UsbDeviceClass>1753 pub fn Measurement() -> ::windows::runtime::Result<UsbDeviceClass> { 1754 Self::IUsbDeviceClassesStatics(|this| unsafe { 1755 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1756 (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UsbDeviceClass>(result__) 1757 }) 1758 } VendorSpecific() -> ::windows::runtime::Result<UsbDeviceClass>1759 pub fn VendorSpecific() -> ::windows::runtime::Result<UsbDeviceClass> { 1760 Self::IUsbDeviceClassesStatics(|this| unsafe { 1761 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1762 (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UsbDeviceClass>(result__) 1763 }) 1764 } IUsbDeviceClassesStatics<R, F: FnOnce(&IUsbDeviceClassesStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1765 pub fn IUsbDeviceClassesStatics<R, F: FnOnce(&IUsbDeviceClassesStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> { 1766 static mut SHARED: ::windows::runtime::FactoryCache<UsbDeviceClasses, IUsbDeviceClassesStatics> = ::windows::runtime::FactoryCache::new(); 1767 unsafe { SHARED.call(callback) } 1768 } 1769 } 1770 unsafe impl ::windows::runtime::RuntimeType for UsbDeviceClasses { 1771 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.Usb.UsbDeviceClasses;{686f955d-9b92-4b30-9781-c22c55ac35cb})"); 1772 } 1773 unsafe impl ::windows::runtime::Interface for UsbDeviceClasses { 1774 type Vtable = IUsbDeviceClasses_abi; 1775 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1752143197, 39826, 19248, [151, 129, 194, 44, 85, 172, 53, 203]); 1776 } 1777 impl ::windows::runtime::RuntimeName for UsbDeviceClasses { 1778 const NAME: &'static str = "Windows.Devices.Usb.UsbDeviceClasses"; 1779 } 1780 impl ::std::convert::From<UsbDeviceClasses> for ::windows::runtime::IUnknown { from(value: UsbDeviceClasses) -> Self1781 fn from(value: UsbDeviceClasses) -> Self { 1782 unsafe { ::std::mem::transmute(value) } 1783 } 1784 } 1785 impl ::std::convert::From<&UsbDeviceClasses> for ::windows::runtime::IUnknown { from(value: &UsbDeviceClasses) -> Self1786 fn from(value: &UsbDeviceClasses) -> Self { 1787 ::std::convert::From::from(::std::clone::Clone::clone(value)) 1788 } 1789 } 1790 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for UsbDeviceClasses { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1791 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 1792 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self)) 1793 } 1794 } 1795 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &UsbDeviceClasses { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1796 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 1797 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self))) 1798 } 1799 } 1800 impl ::std::convert::From<UsbDeviceClasses> for ::windows::runtime::IInspectable { from(value: UsbDeviceClasses) -> Self1801 fn from(value: UsbDeviceClasses) -> Self { 1802 value.0 1803 } 1804 } 1805 impl ::std::convert::From<&UsbDeviceClasses> for ::windows::runtime::IInspectable { from(value: &UsbDeviceClasses) -> Self1806 fn from(value: &UsbDeviceClasses) -> Self { 1807 value.0.clone() 1808 } 1809 } 1810 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for UsbDeviceClasses { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1811 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 1812 ::windows::runtime::Param::Owned(self.0) 1813 } 1814 } 1815 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a UsbDeviceClasses { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1816 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 1817 ::windows::runtime::Param::Borrowed(&self.0) 1818 } 1819 } 1820 unsafe impl ::std::marker::Send for UsbDeviceClasses {} 1821 unsafe impl ::std::marker::Sync for UsbDeviceClasses {} 1822 #[repr(transparent)] 1823 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 1824 pub struct UsbDeviceDescriptor(::windows::runtime::IInspectable); 1825 impl UsbDeviceDescriptor { BcdUsb(&self) -> ::windows::runtime::Result<u32>1826 pub fn BcdUsb(&self) -> ::windows::runtime::Result<u32> { 1827 let this = self; 1828 unsafe { 1829 let mut result__: u32 = ::std::mem::zeroed(); 1830 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__) 1831 } 1832 } MaxPacketSize0(&self) -> ::windows::runtime::Result<u8>1833 pub fn MaxPacketSize0(&self) -> ::windows::runtime::Result<u8> { 1834 let this = self; 1835 unsafe { 1836 let mut result__: u8 = ::std::mem::zeroed(); 1837 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u8>(result__) 1838 } 1839 } VendorId(&self) -> ::windows::runtime::Result<u32>1840 pub fn VendorId(&self) -> ::windows::runtime::Result<u32> { 1841 let this = self; 1842 unsafe { 1843 let mut result__: u32 = ::std::mem::zeroed(); 1844 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__) 1845 } 1846 } ProductId(&self) -> ::windows::runtime::Result<u32>1847 pub fn ProductId(&self) -> ::windows::runtime::Result<u32> { 1848 let this = self; 1849 unsafe { 1850 let mut result__: u32 = ::std::mem::zeroed(); 1851 (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__) 1852 } 1853 } BcdDeviceRevision(&self) -> ::windows::runtime::Result<u32>1854 pub fn BcdDeviceRevision(&self) -> ::windows::runtime::Result<u32> { 1855 let this = self; 1856 unsafe { 1857 let mut result__: u32 = ::std::mem::zeroed(); 1858 (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__) 1859 } 1860 } NumberOfConfigurations(&self) -> ::windows::runtime::Result<u8>1861 pub fn NumberOfConfigurations(&self) -> ::windows::runtime::Result<u8> { 1862 let this = self; 1863 unsafe { 1864 let mut result__: u8 = ::std::mem::zeroed(); 1865 (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u8>(result__) 1866 } 1867 } 1868 } 1869 unsafe impl ::windows::runtime::RuntimeType for UsbDeviceDescriptor { 1870 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.Usb.UsbDeviceDescriptor;{1f48d1f6-ba97-4322-b92c-b5b189216588})"); 1871 } 1872 unsafe impl ::windows::runtime::Interface for UsbDeviceDescriptor { 1873 type Vtable = IUsbDeviceDescriptor_abi; 1874 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(524866038, 47767, 17186, [185, 44, 181, 177, 137, 33, 101, 136]); 1875 } 1876 impl ::windows::runtime::RuntimeName for UsbDeviceDescriptor { 1877 const NAME: &'static str = "Windows.Devices.Usb.UsbDeviceDescriptor"; 1878 } 1879 impl ::std::convert::From<UsbDeviceDescriptor> for ::windows::runtime::IUnknown { from(value: UsbDeviceDescriptor) -> Self1880 fn from(value: UsbDeviceDescriptor) -> Self { 1881 unsafe { ::std::mem::transmute(value) } 1882 } 1883 } 1884 impl ::std::convert::From<&UsbDeviceDescriptor> for ::windows::runtime::IUnknown { from(value: &UsbDeviceDescriptor) -> Self1885 fn from(value: &UsbDeviceDescriptor) -> Self { 1886 ::std::convert::From::from(::std::clone::Clone::clone(value)) 1887 } 1888 } 1889 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for UsbDeviceDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1890 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 1891 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self)) 1892 } 1893 } 1894 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &UsbDeviceDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>1895 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 1896 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self))) 1897 } 1898 } 1899 impl ::std::convert::From<UsbDeviceDescriptor> for ::windows::runtime::IInspectable { from(value: UsbDeviceDescriptor) -> Self1900 fn from(value: UsbDeviceDescriptor) -> Self { 1901 value.0 1902 } 1903 } 1904 impl ::std::convert::From<&UsbDeviceDescriptor> for ::windows::runtime::IInspectable { from(value: &UsbDeviceDescriptor) -> Self1905 fn from(value: &UsbDeviceDescriptor) -> Self { 1906 value.0.clone() 1907 } 1908 } 1909 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for UsbDeviceDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1910 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 1911 ::windows::runtime::Param::Owned(self.0) 1912 } 1913 } 1914 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a UsbDeviceDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>1915 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 1916 ::windows::runtime::Param::Borrowed(&self.0) 1917 } 1918 } 1919 unsafe impl ::std::marker::Send for UsbDeviceDescriptor {} 1920 unsafe impl ::std::marker::Sync for UsbDeviceDescriptor {} 1921 #[repr(transparent)] 1922 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 1923 pub struct UsbEndpointDescriptor(::windows::runtime::IInspectable); 1924 impl UsbEndpointDescriptor { EndpointNumber(&self) -> ::windows::runtime::Result<u8>1925 pub fn EndpointNumber(&self) -> ::windows::runtime::Result<u8> { 1926 let this = self; 1927 unsafe { 1928 let mut result__: u8 = ::std::mem::zeroed(); 1929 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u8>(result__) 1930 } 1931 } Direction(&self) -> ::windows::runtime::Result<UsbTransferDirection>1932 pub fn Direction(&self) -> ::windows::runtime::Result<UsbTransferDirection> { 1933 let this = self; 1934 unsafe { 1935 let mut result__: UsbTransferDirection = ::std::mem::zeroed(); 1936 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UsbTransferDirection>(result__) 1937 } 1938 } EndpointType(&self) -> ::windows::runtime::Result<UsbEndpointType>1939 pub fn EndpointType(&self) -> ::windows::runtime::Result<UsbEndpointType> { 1940 let this = self; 1941 unsafe { 1942 let mut result__: UsbEndpointType = ::std::mem::zeroed(); 1943 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UsbEndpointType>(result__) 1944 } 1945 } AsBulkInEndpointDescriptor(&self) -> ::windows::runtime::Result<UsbBulkInEndpointDescriptor>1946 pub fn AsBulkInEndpointDescriptor(&self) -> ::windows::runtime::Result<UsbBulkInEndpointDescriptor> { 1947 let this = self; 1948 unsafe { 1949 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1950 (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UsbBulkInEndpointDescriptor>(result__) 1951 } 1952 } AsInterruptInEndpointDescriptor(&self) -> ::windows::runtime::Result<UsbInterruptInEndpointDescriptor>1953 pub fn AsInterruptInEndpointDescriptor(&self) -> ::windows::runtime::Result<UsbInterruptInEndpointDescriptor> { 1954 let this = self; 1955 unsafe { 1956 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1957 (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UsbInterruptInEndpointDescriptor>(result__) 1958 } 1959 } AsBulkOutEndpointDescriptor(&self) -> ::windows::runtime::Result<UsbBulkOutEndpointDescriptor>1960 pub fn AsBulkOutEndpointDescriptor(&self) -> ::windows::runtime::Result<UsbBulkOutEndpointDescriptor> { 1961 let this = self; 1962 unsafe { 1963 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1964 (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UsbBulkOutEndpointDescriptor>(result__) 1965 } 1966 } AsInterruptOutEndpointDescriptor(&self) -> ::windows::runtime::Result<UsbInterruptOutEndpointDescriptor>1967 pub fn AsInterruptOutEndpointDescriptor(&self) -> ::windows::runtime::Result<UsbInterruptOutEndpointDescriptor> { 1968 let this = self; 1969 unsafe { 1970 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1971 (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UsbInterruptOutEndpointDescriptor>(result__) 1972 } 1973 } TryParse<'a, Param0: ::windows::runtime::IntoParam<'a, UsbDescriptor>>(descriptor: Param0, parsed: &mut ::std::option::Option<UsbEndpointDescriptor>) -> ::windows::runtime::Result<bool>1974 pub fn TryParse<'a, Param0: ::windows::runtime::IntoParam<'a, UsbDescriptor>>(descriptor: Param0, parsed: &mut ::std::option::Option<UsbEndpointDescriptor>) -> ::windows::runtime::Result<bool> { 1975 Self::IUsbEndpointDescriptorStatics(|this| unsafe { 1976 let mut result__: bool = ::std::mem::zeroed(); 1977 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), descriptor.into_param().abi(), parsed as *mut _ as _, &mut result__).from_abi::<bool>(result__) 1978 }) 1979 } Parse<'a, Param0: ::windows::runtime::IntoParam<'a, UsbDescriptor>>(descriptor: Param0) -> ::windows::runtime::Result<UsbEndpointDescriptor>1980 pub fn Parse<'a, Param0: ::windows::runtime::IntoParam<'a, UsbDescriptor>>(descriptor: Param0) -> ::windows::runtime::Result<UsbEndpointDescriptor> { 1981 Self::IUsbEndpointDescriptorStatics(|this| unsafe { 1982 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 1983 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), descriptor.into_param().abi(), &mut result__).from_abi::<UsbEndpointDescriptor>(result__) 1984 }) 1985 } IUsbEndpointDescriptorStatics<R, F: FnOnce(&IUsbEndpointDescriptorStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>1986 pub fn IUsbEndpointDescriptorStatics<R, F: FnOnce(&IUsbEndpointDescriptorStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> { 1987 static mut SHARED: ::windows::runtime::FactoryCache<UsbEndpointDescriptor, IUsbEndpointDescriptorStatics> = ::windows::runtime::FactoryCache::new(); 1988 unsafe { SHARED.call(callback) } 1989 } 1990 } 1991 unsafe impl ::windows::runtime::RuntimeType for UsbEndpointDescriptor { 1992 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.Usb.UsbEndpointDescriptor;{6b4862d9-8df7-4b40-ac83-578f139f0575})"); 1993 } 1994 unsafe impl ::windows::runtime::Interface for UsbEndpointDescriptor { 1995 type Vtable = IUsbEndpointDescriptor_abi; 1996 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(1799906009, 36343, 19264, [172, 131, 87, 143, 19, 159, 5, 117]); 1997 } 1998 impl ::windows::runtime::RuntimeName for UsbEndpointDescriptor { 1999 const NAME: &'static str = "Windows.Devices.Usb.UsbEndpointDescriptor"; 2000 } 2001 impl ::std::convert::From<UsbEndpointDescriptor> for ::windows::runtime::IUnknown { from(value: UsbEndpointDescriptor) -> Self2002 fn from(value: UsbEndpointDescriptor) -> Self { 2003 unsafe { ::std::mem::transmute(value) } 2004 } 2005 } 2006 impl ::std::convert::From<&UsbEndpointDescriptor> for ::windows::runtime::IUnknown { from(value: &UsbEndpointDescriptor) -> Self2007 fn from(value: &UsbEndpointDescriptor) -> Self { 2008 ::std::convert::From::from(::std::clone::Clone::clone(value)) 2009 } 2010 } 2011 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for UsbEndpointDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2012 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 2013 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self)) 2014 } 2015 } 2016 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &UsbEndpointDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2017 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 2018 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self))) 2019 } 2020 } 2021 impl ::std::convert::From<UsbEndpointDescriptor> for ::windows::runtime::IInspectable { from(value: UsbEndpointDescriptor) -> Self2022 fn from(value: UsbEndpointDescriptor) -> Self { 2023 value.0 2024 } 2025 } 2026 impl ::std::convert::From<&UsbEndpointDescriptor> for ::windows::runtime::IInspectable { from(value: &UsbEndpointDescriptor) -> Self2027 fn from(value: &UsbEndpointDescriptor) -> Self { 2028 value.0.clone() 2029 } 2030 } 2031 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for UsbEndpointDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2032 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 2033 ::windows::runtime::Param::Owned(self.0) 2034 } 2035 } 2036 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a UsbEndpointDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2037 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 2038 ::windows::runtime::Param::Borrowed(&self.0) 2039 } 2040 } 2041 unsafe impl ::std::marker::Send for UsbEndpointDescriptor {} 2042 unsafe impl ::std::marker::Sync for UsbEndpointDescriptor {} 2043 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)] 2044 #[repr(transparent)] 2045 pub struct UsbEndpointType(pub i32); 2046 impl UsbEndpointType { 2047 pub const Control: UsbEndpointType = UsbEndpointType(0i32); 2048 pub const Isochronous: UsbEndpointType = UsbEndpointType(1i32); 2049 pub const Bulk: UsbEndpointType = UsbEndpointType(2i32); 2050 pub const Interrupt: UsbEndpointType = UsbEndpointType(3i32); 2051 } 2052 impl ::std::convert::From<i32> for UsbEndpointType { from(value: i32) -> Self2053 fn from(value: i32) -> Self { 2054 Self(value) 2055 } 2056 } 2057 unsafe impl ::windows::runtime::Abi for UsbEndpointType { 2058 type Abi = Self; 2059 type DefaultType = Self; 2060 } 2061 unsafe impl ::windows::runtime::RuntimeType for UsbEndpointType { 2062 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Devices.Usb.UsbEndpointType;i4)"); 2063 } 2064 #[repr(transparent)] 2065 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 2066 pub struct UsbInterface(::windows::runtime::IInspectable); 2067 impl UsbInterface { 2068 #[cfg(feature = "Foundation_Collections")] BulkInPipes(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<UsbBulkInPipe>>2069 pub fn BulkInPipes(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<UsbBulkInPipe>> { 2070 let this = self; 2071 unsafe { 2072 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 2073 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<UsbBulkInPipe>>(result__) 2074 } 2075 } 2076 #[cfg(feature = "Foundation_Collections")] InterruptInPipes(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<UsbInterruptInPipe>>2077 pub fn InterruptInPipes(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<UsbInterruptInPipe>> { 2078 let this = self; 2079 unsafe { 2080 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 2081 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<UsbInterruptInPipe>>(result__) 2082 } 2083 } 2084 #[cfg(feature = "Foundation_Collections")] BulkOutPipes(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<UsbBulkOutPipe>>2085 pub fn BulkOutPipes(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<UsbBulkOutPipe>> { 2086 let this = self; 2087 unsafe { 2088 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 2089 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<UsbBulkOutPipe>>(result__) 2090 } 2091 } 2092 #[cfg(feature = "Foundation_Collections")] InterruptOutPipes(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<UsbInterruptOutPipe>>2093 pub fn InterruptOutPipes(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<UsbInterruptOutPipe>> { 2094 let this = self; 2095 unsafe { 2096 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 2097 (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<UsbInterruptOutPipe>>(result__) 2098 } 2099 } 2100 #[cfg(feature = "Foundation_Collections")] InterfaceSettings(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<UsbInterfaceSetting>>2101 pub fn InterfaceSettings(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<UsbInterfaceSetting>> { 2102 let this = self; 2103 unsafe { 2104 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 2105 (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<UsbInterfaceSetting>>(result__) 2106 } 2107 } InterfaceNumber(&self) -> ::windows::runtime::Result<u8>2108 pub fn InterfaceNumber(&self) -> ::windows::runtime::Result<u8> { 2109 let this = self; 2110 unsafe { 2111 let mut result__: u8 = ::std::mem::zeroed(); 2112 (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u8>(result__) 2113 } 2114 } 2115 #[cfg(feature = "Foundation_Collections")] Descriptors(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<UsbDescriptor>>2116 pub fn Descriptors(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<UsbDescriptor>> { 2117 let this = self; 2118 unsafe { 2119 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 2120 (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<UsbDescriptor>>(result__) 2121 } 2122 } 2123 } 2124 unsafe impl ::windows::runtime::RuntimeType for UsbInterface { 2125 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.Usb.UsbInterface;{a0322b95-7f47-48ab-a727-678c25be2112})"); 2126 } 2127 unsafe impl ::windows::runtime::Interface for UsbInterface { 2128 type Vtable = IUsbInterface_abi; 2129 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(2687642517, 32583, 18603, [167, 39, 103, 140, 37, 190, 33, 18]); 2130 } 2131 impl ::windows::runtime::RuntimeName for UsbInterface { 2132 const NAME: &'static str = "Windows.Devices.Usb.UsbInterface"; 2133 } 2134 impl ::std::convert::From<UsbInterface> for ::windows::runtime::IUnknown { from(value: UsbInterface) -> Self2135 fn from(value: UsbInterface) -> Self { 2136 unsafe { ::std::mem::transmute(value) } 2137 } 2138 } 2139 impl ::std::convert::From<&UsbInterface> for ::windows::runtime::IUnknown { from(value: &UsbInterface) -> Self2140 fn from(value: &UsbInterface) -> Self { 2141 ::std::convert::From::from(::std::clone::Clone::clone(value)) 2142 } 2143 } 2144 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for UsbInterface { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2145 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 2146 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self)) 2147 } 2148 } 2149 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &UsbInterface { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2150 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 2151 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self))) 2152 } 2153 } 2154 impl ::std::convert::From<UsbInterface> for ::windows::runtime::IInspectable { from(value: UsbInterface) -> Self2155 fn from(value: UsbInterface) -> Self { 2156 value.0 2157 } 2158 } 2159 impl ::std::convert::From<&UsbInterface> for ::windows::runtime::IInspectable { from(value: &UsbInterface) -> Self2160 fn from(value: &UsbInterface) -> Self { 2161 value.0.clone() 2162 } 2163 } 2164 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for UsbInterface { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2165 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 2166 ::windows::runtime::Param::Owned(self.0) 2167 } 2168 } 2169 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a UsbInterface { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2170 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 2171 ::windows::runtime::Param::Borrowed(&self.0) 2172 } 2173 } 2174 unsafe impl ::std::marker::Send for UsbInterface {} 2175 unsafe impl ::std::marker::Sync for UsbInterface {} 2176 #[repr(transparent)] 2177 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 2178 pub struct UsbInterfaceDescriptor(::windows::runtime::IInspectable); 2179 impl UsbInterfaceDescriptor { ClassCode(&self) -> ::windows::runtime::Result<u8>2180 pub fn ClassCode(&self) -> ::windows::runtime::Result<u8> { 2181 let this = self; 2182 unsafe { 2183 let mut result__: u8 = ::std::mem::zeroed(); 2184 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u8>(result__) 2185 } 2186 } SubclassCode(&self) -> ::windows::runtime::Result<u8>2187 pub fn SubclassCode(&self) -> ::windows::runtime::Result<u8> { 2188 let this = self; 2189 unsafe { 2190 let mut result__: u8 = ::std::mem::zeroed(); 2191 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u8>(result__) 2192 } 2193 } ProtocolCode(&self) -> ::windows::runtime::Result<u8>2194 pub fn ProtocolCode(&self) -> ::windows::runtime::Result<u8> { 2195 let this = self; 2196 unsafe { 2197 let mut result__: u8 = ::std::mem::zeroed(); 2198 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u8>(result__) 2199 } 2200 } AlternateSettingNumber(&self) -> ::windows::runtime::Result<u8>2201 pub fn AlternateSettingNumber(&self) -> ::windows::runtime::Result<u8> { 2202 let this = self; 2203 unsafe { 2204 let mut result__: u8 = ::std::mem::zeroed(); 2205 (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u8>(result__) 2206 } 2207 } InterfaceNumber(&self) -> ::windows::runtime::Result<u8>2208 pub fn InterfaceNumber(&self) -> ::windows::runtime::Result<u8> { 2209 let this = self; 2210 unsafe { 2211 let mut result__: u8 = ::std::mem::zeroed(); 2212 (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u8>(result__) 2213 } 2214 } TryParse<'a, Param0: ::windows::runtime::IntoParam<'a, UsbDescriptor>>(descriptor: Param0, parsed: &mut ::std::option::Option<UsbInterfaceDescriptor>) -> ::windows::runtime::Result<bool>2215 pub fn TryParse<'a, Param0: ::windows::runtime::IntoParam<'a, UsbDescriptor>>(descriptor: Param0, parsed: &mut ::std::option::Option<UsbInterfaceDescriptor>) -> ::windows::runtime::Result<bool> { 2216 Self::IUsbInterfaceDescriptorStatics(|this| unsafe { 2217 let mut result__: bool = ::std::mem::zeroed(); 2218 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), descriptor.into_param().abi(), parsed as *mut _ as _, &mut result__).from_abi::<bool>(result__) 2219 }) 2220 } Parse<'a, Param0: ::windows::runtime::IntoParam<'a, UsbDescriptor>>(descriptor: Param0) -> ::windows::runtime::Result<UsbInterfaceDescriptor>2221 pub fn Parse<'a, Param0: ::windows::runtime::IntoParam<'a, UsbDescriptor>>(descriptor: Param0) -> ::windows::runtime::Result<UsbInterfaceDescriptor> { 2222 Self::IUsbInterfaceDescriptorStatics(|this| unsafe { 2223 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 2224 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), descriptor.into_param().abi(), &mut result__).from_abi::<UsbInterfaceDescriptor>(result__) 2225 }) 2226 } IUsbInterfaceDescriptorStatics<R, F: FnOnce(&IUsbInterfaceDescriptorStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>2227 pub fn IUsbInterfaceDescriptorStatics<R, F: FnOnce(&IUsbInterfaceDescriptorStatics) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> { 2228 static mut SHARED: ::windows::runtime::FactoryCache<UsbInterfaceDescriptor, IUsbInterfaceDescriptorStatics> = ::windows::runtime::FactoryCache::new(); 2229 unsafe { SHARED.call(callback) } 2230 } 2231 } 2232 unsafe impl ::windows::runtime::RuntimeType for UsbInterfaceDescriptor { 2233 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.Usb.UsbInterfaceDescriptor;{199670c7-b7ee-4f90-8cd5-94a2e257598a})"); 2234 } 2235 unsafe impl ::windows::runtime::Interface for UsbInterfaceDescriptor { 2236 type Vtable = IUsbInterfaceDescriptor_abi; 2237 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(429289671, 47086, 20368, [140, 213, 148, 162, 226, 87, 89, 138]); 2238 } 2239 impl ::windows::runtime::RuntimeName for UsbInterfaceDescriptor { 2240 const NAME: &'static str = "Windows.Devices.Usb.UsbInterfaceDescriptor"; 2241 } 2242 impl ::std::convert::From<UsbInterfaceDescriptor> for ::windows::runtime::IUnknown { from(value: UsbInterfaceDescriptor) -> Self2243 fn from(value: UsbInterfaceDescriptor) -> Self { 2244 unsafe { ::std::mem::transmute(value) } 2245 } 2246 } 2247 impl ::std::convert::From<&UsbInterfaceDescriptor> for ::windows::runtime::IUnknown { from(value: &UsbInterfaceDescriptor) -> Self2248 fn from(value: &UsbInterfaceDescriptor) -> Self { 2249 ::std::convert::From::from(::std::clone::Clone::clone(value)) 2250 } 2251 } 2252 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for UsbInterfaceDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2253 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 2254 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self)) 2255 } 2256 } 2257 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &UsbInterfaceDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2258 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 2259 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self))) 2260 } 2261 } 2262 impl ::std::convert::From<UsbInterfaceDescriptor> for ::windows::runtime::IInspectable { from(value: UsbInterfaceDescriptor) -> Self2263 fn from(value: UsbInterfaceDescriptor) -> Self { 2264 value.0 2265 } 2266 } 2267 impl ::std::convert::From<&UsbInterfaceDescriptor> for ::windows::runtime::IInspectable { from(value: &UsbInterfaceDescriptor) -> Self2268 fn from(value: &UsbInterfaceDescriptor) -> Self { 2269 value.0.clone() 2270 } 2271 } 2272 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for UsbInterfaceDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2273 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 2274 ::windows::runtime::Param::Owned(self.0) 2275 } 2276 } 2277 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a UsbInterfaceDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2278 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 2279 ::windows::runtime::Param::Borrowed(&self.0) 2280 } 2281 } 2282 unsafe impl ::std::marker::Send for UsbInterfaceDescriptor {} 2283 unsafe impl ::std::marker::Sync for UsbInterfaceDescriptor {} 2284 #[repr(transparent)] 2285 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 2286 pub struct UsbInterfaceSetting(::windows::runtime::IInspectable); 2287 impl UsbInterfaceSetting { 2288 #[cfg(feature = "Foundation_Collections")] BulkInEndpoints(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<UsbBulkInEndpointDescriptor>>2289 pub fn BulkInEndpoints(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<UsbBulkInEndpointDescriptor>> { 2290 let this = self; 2291 unsafe { 2292 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 2293 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<UsbBulkInEndpointDescriptor>>(result__) 2294 } 2295 } 2296 #[cfg(feature = "Foundation_Collections")] InterruptInEndpoints(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<UsbInterruptInEndpointDescriptor>>2297 pub fn InterruptInEndpoints(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<UsbInterruptInEndpointDescriptor>> { 2298 let this = self; 2299 unsafe { 2300 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 2301 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<UsbInterruptInEndpointDescriptor>>(result__) 2302 } 2303 } 2304 #[cfg(feature = "Foundation_Collections")] BulkOutEndpoints(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<UsbBulkOutEndpointDescriptor>>2305 pub fn BulkOutEndpoints(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<UsbBulkOutEndpointDescriptor>> { 2306 let this = self; 2307 unsafe { 2308 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 2309 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<UsbBulkOutEndpointDescriptor>>(result__) 2310 } 2311 } 2312 #[cfg(feature = "Foundation_Collections")] InterruptOutEndpoints(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<UsbInterruptOutEndpointDescriptor>>2313 pub fn InterruptOutEndpoints(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<UsbInterruptOutEndpointDescriptor>> { 2314 let this = self; 2315 unsafe { 2316 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 2317 (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<UsbInterruptOutEndpointDescriptor>>(result__) 2318 } 2319 } Selected(&self) -> ::windows::runtime::Result<bool>2320 pub fn Selected(&self) -> ::windows::runtime::Result<bool> { 2321 let this = self; 2322 unsafe { 2323 let mut result__: bool = ::std::mem::zeroed(); 2324 (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<bool>(result__) 2325 } 2326 } 2327 #[cfg(feature = "Foundation")] SelectSettingAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>2328 pub fn SelectSettingAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> { 2329 let this = self; 2330 unsafe { 2331 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 2332 (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__) 2333 } 2334 } InterfaceDescriptor(&self) -> ::windows::runtime::Result<UsbInterfaceDescriptor>2335 pub fn InterfaceDescriptor(&self) -> ::windows::runtime::Result<UsbInterfaceDescriptor> { 2336 let this = self; 2337 unsafe { 2338 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 2339 (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UsbInterfaceDescriptor>(result__) 2340 } 2341 } 2342 #[cfg(feature = "Foundation_Collections")] Descriptors(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<UsbDescriptor>>2343 pub fn Descriptors(&self) -> ::windows::runtime::Result<super::super::Foundation::Collections::IVectorView<UsbDescriptor>> { 2344 let this = self; 2345 unsafe { 2346 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 2347 (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::Collections::IVectorView<UsbDescriptor>>(result__) 2348 } 2349 } 2350 } 2351 unsafe impl ::windows::runtime::RuntimeType for UsbInterfaceSetting { 2352 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.Usb.UsbInterfaceSetting;{1827bba7-8da7-4af7-8f4c-7f3032e781f5})"); 2353 } 2354 unsafe impl ::windows::runtime::Interface for UsbInterfaceSetting { 2355 type Vtable = IUsbInterfaceSetting_abi; 2356 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(405257127, 36263, 19191, [143, 76, 127, 48, 50, 231, 129, 245]); 2357 } 2358 impl ::windows::runtime::RuntimeName for UsbInterfaceSetting { 2359 const NAME: &'static str = "Windows.Devices.Usb.UsbInterfaceSetting"; 2360 } 2361 impl ::std::convert::From<UsbInterfaceSetting> for ::windows::runtime::IUnknown { from(value: UsbInterfaceSetting) -> Self2362 fn from(value: UsbInterfaceSetting) -> Self { 2363 unsafe { ::std::mem::transmute(value) } 2364 } 2365 } 2366 impl ::std::convert::From<&UsbInterfaceSetting> for ::windows::runtime::IUnknown { from(value: &UsbInterfaceSetting) -> Self2367 fn from(value: &UsbInterfaceSetting) -> Self { 2368 ::std::convert::From::from(::std::clone::Clone::clone(value)) 2369 } 2370 } 2371 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for UsbInterfaceSetting { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2372 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 2373 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self)) 2374 } 2375 } 2376 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &UsbInterfaceSetting { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2377 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 2378 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self))) 2379 } 2380 } 2381 impl ::std::convert::From<UsbInterfaceSetting> for ::windows::runtime::IInspectable { from(value: UsbInterfaceSetting) -> Self2382 fn from(value: UsbInterfaceSetting) -> Self { 2383 value.0 2384 } 2385 } 2386 impl ::std::convert::From<&UsbInterfaceSetting> for ::windows::runtime::IInspectable { from(value: &UsbInterfaceSetting) -> Self2387 fn from(value: &UsbInterfaceSetting) -> Self { 2388 value.0.clone() 2389 } 2390 } 2391 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for UsbInterfaceSetting { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2392 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 2393 ::windows::runtime::Param::Owned(self.0) 2394 } 2395 } 2396 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a UsbInterfaceSetting { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2397 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 2398 ::windows::runtime::Param::Borrowed(&self.0) 2399 } 2400 } 2401 unsafe impl ::std::marker::Send for UsbInterfaceSetting {} 2402 unsafe impl ::std::marker::Sync for UsbInterfaceSetting {} 2403 #[repr(transparent)] 2404 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 2405 pub struct UsbInterruptInEndpointDescriptor(::windows::runtime::IInspectable); 2406 impl UsbInterruptInEndpointDescriptor { MaxPacketSize(&self) -> ::windows::runtime::Result<u32>2407 pub fn MaxPacketSize(&self) -> ::windows::runtime::Result<u32> { 2408 let this = self; 2409 unsafe { 2410 let mut result__: u32 = ::std::mem::zeroed(); 2411 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__) 2412 } 2413 } EndpointNumber(&self) -> ::windows::runtime::Result<u8>2414 pub fn EndpointNumber(&self) -> ::windows::runtime::Result<u8> { 2415 let this = self; 2416 unsafe { 2417 let mut result__: u8 = ::std::mem::zeroed(); 2418 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u8>(result__) 2419 } 2420 } 2421 #[cfg(feature = "Foundation")] Interval(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>2422 pub fn Interval(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> { 2423 let this = self; 2424 unsafe { 2425 let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed(); 2426 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__) 2427 } 2428 } Pipe(&self) -> ::windows::runtime::Result<UsbInterruptInPipe>2429 pub fn Pipe(&self) -> ::windows::runtime::Result<UsbInterruptInPipe> { 2430 let this = self; 2431 unsafe { 2432 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 2433 (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UsbInterruptInPipe>(result__) 2434 } 2435 } 2436 } 2437 unsafe impl ::windows::runtime::RuntimeType for UsbInterruptInEndpointDescriptor { 2438 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.Usb.UsbInterruptInEndpointDescriptor;{c0528967-c911-4c3a-86b2-419c2da89039})"); 2439 } 2440 unsafe impl ::windows::runtime::Interface for UsbInterruptInEndpointDescriptor { 2441 type Vtable = IUsbInterruptInEndpointDescriptor_abi; 2442 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3226634599, 51473, 19514, [134, 178, 65, 156, 45, 168, 144, 57]); 2443 } 2444 impl ::windows::runtime::RuntimeName for UsbInterruptInEndpointDescriptor { 2445 const NAME: &'static str = "Windows.Devices.Usb.UsbInterruptInEndpointDescriptor"; 2446 } 2447 impl ::std::convert::From<UsbInterruptInEndpointDescriptor> for ::windows::runtime::IUnknown { from(value: UsbInterruptInEndpointDescriptor) -> Self2448 fn from(value: UsbInterruptInEndpointDescriptor) -> Self { 2449 unsafe { ::std::mem::transmute(value) } 2450 } 2451 } 2452 impl ::std::convert::From<&UsbInterruptInEndpointDescriptor> for ::windows::runtime::IUnknown { from(value: &UsbInterruptInEndpointDescriptor) -> Self2453 fn from(value: &UsbInterruptInEndpointDescriptor) -> Self { 2454 ::std::convert::From::from(::std::clone::Clone::clone(value)) 2455 } 2456 } 2457 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for UsbInterruptInEndpointDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2458 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 2459 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self)) 2460 } 2461 } 2462 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &UsbInterruptInEndpointDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2463 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 2464 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self))) 2465 } 2466 } 2467 impl ::std::convert::From<UsbInterruptInEndpointDescriptor> for ::windows::runtime::IInspectable { from(value: UsbInterruptInEndpointDescriptor) -> Self2468 fn from(value: UsbInterruptInEndpointDescriptor) -> Self { 2469 value.0 2470 } 2471 } 2472 impl ::std::convert::From<&UsbInterruptInEndpointDescriptor> for ::windows::runtime::IInspectable { from(value: &UsbInterruptInEndpointDescriptor) -> Self2473 fn from(value: &UsbInterruptInEndpointDescriptor) -> Self { 2474 value.0.clone() 2475 } 2476 } 2477 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for UsbInterruptInEndpointDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2478 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 2479 ::windows::runtime::Param::Owned(self.0) 2480 } 2481 } 2482 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a UsbInterruptInEndpointDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2483 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 2484 ::windows::runtime::Param::Borrowed(&self.0) 2485 } 2486 } 2487 unsafe impl ::std::marker::Send for UsbInterruptInEndpointDescriptor {} 2488 unsafe impl ::std::marker::Sync for UsbInterruptInEndpointDescriptor {} 2489 #[repr(transparent)] 2490 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 2491 pub struct UsbInterruptInEventArgs(::windows::runtime::IInspectable); 2492 impl UsbInterruptInEventArgs { 2493 #[cfg(feature = "Storage_Streams")] InterruptData(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IBuffer>2494 pub fn InterruptData(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IBuffer> { 2495 let this = self; 2496 unsafe { 2497 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 2498 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Storage::Streams::IBuffer>(result__) 2499 } 2500 } 2501 } 2502 unsafe impl ::windows::runtime::RuntimeType for UsbInterruptInEventArgs { 2503 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.Usb.UsbInterruptInEventArgs;{b7b04092-1418-4936-8209-299cf5605583})"); 2504 } 2505 unsafe impl ::windows::runtime::Interface for UsbInterruptInEventArgs { 2506 type Vtable = IUsbInterruptInEventArgs_abi; 2507 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3081781394, 5144, 18742, [130, 9, 41, 156, 245, 96, 85, 131]); 2508 } 2509 impl ::windows::runtime::RuntimeName for UsbInterruptInEventArgs { 2510 const NAME: &'static str = "Windows.Devices.Usb.UsbInterruptInEventArgs"; 2511 } 2512 impl ::std::convert::From<UsbInterruptInEventArgs> for ::windows::runtime::IUnknown { from(value: UsbInterruptInEventArgs) -> Self2513 fn from(value: UsbInterruptInEventArgs) -> Self { 2514 unsafe { ::std::mem::transmute(value) } 2515 } 2516 } 2517 impl ::std::convert::From<&UsbInterruptInEventArgs> for ::windows::runtime::IUnknown { from(value: &UsbInterruptInEventArgs) -> Self2518 fn from(value: &UsbInterruptInEventArgs) -> Self { 2519 ::std::convert::From::from(::std::clone::Clone::clone(value)) 2520 } 2521 } 2522 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for UsbInterruptInEventArgs { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2523 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 2524 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self)) 2525 } 2526 } 2527 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &UsbInterruptInEventArgs { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2528 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 2529 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self))) 2530 } 2531 } 2532 impl ::std::convert::From<UsbInterruptInEventArgs> for ::windows::runtime::IInspectable { from(value: UsbInterruptInEventArgs) -> Self2533 fn from(value: UsbInterruptInEventArgs) -> Self { 2534 value.0 2535 } 2536 } 2537 impl ::std::convert::From<&UsbInterruptInEventArgs> for ::windows::runtime::IInspectable { from(value: &UsbInterruptInEventArgs) -> Self2538 fn from(value: &UsbInterruptInEventArgs) -> Self { 2539 value.0.clone() 2540 } 2541 } 2542 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for UsbInterruptInEventArgs { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2543 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 2544 ::windows::runtime::Param::Owned(self.0) 2545 } 2546 } 2547 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a UsbInterruptInEventArgs { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2548 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 2549 ::windows::runtime::Param::Borrowed(&self.0) 2550 } 2551 } 2552 unsafe impl ::std::marker::Send for UsbInterruptInEventArgs {} 2553 unsafe impl ::std::marker::Sync for UsbInterruptInEventArgs {} 2554 #[repr(transparent)] 2555 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 2556 pub struct UsbInterruptInPipe(::windows::runtime::IInspectable); 2557 impl UsbInterruptInPipe { EndpointDescriptor(&self) -> ::windows::runtime::Result<UsbInterruptInEndpointDescriptor>2558 pub fn EndpointDescriptor(&self) -> ::windows::runtime::Result<UsbInterruptInEndpointDescriptor> { 2559 let this = self; 2560 unsafe { 2561 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 2562 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UsbInterruptInEndpointDescriptor>(result__) 2563 } 2564 } 2565 #[cfg(feature = "Foundation")] ClearStallAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>2566 pub fn ClearStallAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> { 2567 let this = self; 2568 unsafe { 2569 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 2570 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__) 2571 } 2572 } 2573 #[cfg(feature = "Foundation")] DataReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<UsbInterruptInPipe, UsbInterruptInEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken>2574 pub fn DataReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::TypedEventHandler<UsbInterruptInPipe, UsbInterruptInEventArgs>>>(&self, handler: Param0) -> ::windows::runtime::Result<super::super::Foundation::EventRegistrationToken> { 2575 let this = self; 2576 unsafe { 2577 let mut result__: super::super::Foundation::EventRegistrationToken = ::std::mem::zeroed(); 2578 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), handler.into_param().abi(), &mut result__).from_abi::<super::super::Foundation::EventRegistrationToken>(result__) 2579 } 2580 } 2581 #[cfg(feature = "Foundation")] RemoveDataReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()>2582 pub fn RemoveDataReceived<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Foundation::EventRegistrationToken>>(&self, token: Param0) -> ::windows::runtime::Result<()> { 2583 let this = self; 2584 unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), token.into_param().abi()).ok() } 2585 } 2586 } 2587 unsafe impl ::windows::runtime::RuntimeType for UsbInterruptInPipe { 2588 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.Usb.UsbInterruptInPipe;{fa007116-84d7-48c7-8a3f-4c0b235f2ea6})"); 2589 } 2590 unsafe impl ::windows::runtime::Interface for UsbInterruptInPipe { 2591 type Vtable = IUsbInterruptInPipe_abi; 2592 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(4194332950, 34007, 18631, [138, 63, 76, 11, 35, 95, 46, 166]); 2593 } 2594 impl ::windows::runtime::RuntimeName for UsbInterruptInPipe { 2595 const NAME: &'static str = "Windows.Devices.Usb.UsbInterruptInPipe"; 2596 } 2597 impl ::std::convert::From<UsbInterruptInPipe> for ::windows::runtime::IUnknown { from(value: UsbInterruptInPipe) -> Self2598 fn from(value: UsbInterruptInPipe) -> Self { 2599 unsafe { ::std::mem::transmute(value) } 2600 } 2601 } 2602 impl ::std::convert::From<&UsbInterruptInPipe> for ::windows::runtime::IUnknown { from(value: &UsbInterruptInPipe) -> Self2603 fn from(value: &UsbInterruptInPipe) -> Self { 2604 ::std::convert::From::from(::std::clone::Clone::clone(value)) 2605 } 2606 } 2607 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for UsbInterruptInPipe { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2608 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 2609 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self)) 2610 } 2611 } 2612 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &UsbInterruptInPipe { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2613 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 2614 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self))) 2615 } 2616 } 2617 impl ::std::convert::From<UsbInterruptInPipe> for ::windows::runtime::IInspectable { from(value: UsbInterruptInPipe) -> Self2618 fn from(value: UsbInterruptInPipe) -> Self { 2619 value.0 2620 } 2621 } 2622 impl ::std::convert::From<&UsbInterruptInPipe> for ::windows::runtime::IInspectable { from(value: &UsbInterruptInPipe) -> Self2623 fn from(value: &UsbInterruptInPipe) -> Self { 2624 value.0.clone() 2625 } 2626 } 2627 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for UsbInterruptInPipe { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2628 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 2629 ::windows::runtime::Param::Owned(self.0) 2630 } 2631 } 2632 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a UsbInterruptInPipe { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2633 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 2634 ::windows::runtime::Param::Borrowed(&self.0) 2635 } 2636 } 2637 unsafe impl ::std::marker::Send for UsbInterruptInPipe {} 2638 unsafe impl ::std::marker::Sync for UsbInterruptInPipe {} 2639 #[repr(transparent)] 2640 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 2641 pub struct UsbInterruptOutEndpointDescriptor(::windows::runtime::IInspectable); 2642 impl UsbInterruptOutEndpointDescriptor { MaxPacketSize(&self) -> ::windows::runtime::Result<u32>2643 pub fn MaxPacketSize(&self) -> ::windows::runtime::Result<u32> { 2644 let this = self; 2645 unsafe { 2646 let mut result__: u32 = ::std::mem::zeroed(); 2647 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__) 2648 } 2649 } EndpointNumber(&self) -> ::windows::runtime::Result<u8>2650 pub fn EndpointNumber(&self) -> ::windows::runtime::Result<u8> { 2651 let this = self; 2652 unsafe { 2653 let mut result__: u8 = ::std::mem::zeroed(); 2654 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u8>(result__) 2655 } 2656 } 2657 #[cfg(feature = "Foundation")] Interval(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan>2658 pub fn Interval(&self) -> ::windows::runtime::Result<super::super::Foundation::TimeSpan> { 2659 let this = self; 2660 unsafe { 2661 let mut result__: super::super::Foundation::TimeSpan = ::std::mem::zeroed(); 2662 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::TimeSpan>(result__) 2663 } 2664 } Pipe(&self) -> ::windows::runtime::Result<UsbInterruptOutPipe>2665 pub fn Pipe(&self) -> ::windows::runtime::Result<UsbInterruptOutPipe> { 2666 let this = self; 2667 unsafe { 2668 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 2669 (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UsbInterruptOutPipe>(result__) 2670 } 2671 } 2672 } 2673 unsafe impl ::windows::runtime::RuntimeType for UsbInterruptOutEndpointDescriptor { 2674 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.Usb.UsbInterruptOutEndpointDescriptor;{cc9fed81-10ca-4533-952d-9e278341e80f})"); 2675 } 2676 unsafe impl ::windows::runtime::Interface for UsbInterruptOutEndpointDescriptor { 2677 type Vtable = IUsbInterruptOutEndpointDescriptor_abi; 2678 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3433033089, 4298, 17715, [149, 45, 158, 39, 131, 65, 232, 15]); 2679 } 2680 impl ::windows::runtime::RuntimeName for UsbInterruptOutEndpointDescriptor { 2681 const NAME: &'static str = "Windows.Devices.Usb.UsbInterruptOutEndpointDescriptor"; 2682 } 2683 impl ::std::convert::From<UsbInterruptOutEndpointDescriptor> for ::windows::runtime::IUnknown { from(value: UsbInterruptOutEndpointDescriptor) -> Self2684 fn from(value: UsbInterruptOutEndpointDescriptor) -> Self { 2685 unsafe { ::std::mem::transmute(value) } 2686 } 2687 } 2688 impl ::std::convert::From<&UsbInterruptOutEndpointDescriptor> for ::windows::runtime::IUnknown { from(value: &UsbInterruptOutEndpointDescriptor) -> Self2689 fn from(value: &UsbInterruptOutEndpointDescriptor) -> Self { 2690 ::std::convert::From::from(::std::clone::Clone::clone(value)) 2691 } 2692 } 2693 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for UsbInterruptOutEndpointDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2694 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 2695 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self)) 2696 } 2697 } 2698 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &UsbInterruptOutEndpointDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2699 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 2700 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self))) 2701 } 2702 } 2703 impl ::std::convert::From<UsbInterruptOutEndpointDescriptor> for ::windows::runtime::IInspectable { from(value: UsbInterruptOutEndpointDescriptor) -> Self2704 fn from(value: UsbInterruptOutEndpointDescriptor) -> Self { 2705 value.0 2706 } 2707 } 2708 impl ::std::convert::From<&UsbInterruptOutEndpointDescriptor> for ::windows::runtime::IInspectable { from(value: &UsbInterruptOutEndpointDescriptor) -> Self2709 fn from(value: &UsbInterruptOutEndpointDescriptor) -> Self { 2710 value.0.clone() 2711 } 2712 } 2713 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for UsbInterruptOutEndpointDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2714 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 2715 ::windows::runtime::Param::Owned(self.0) 2716 } 2717 } 2718 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a UsbInterruptOutEndpointDescriptor { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2719 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 2720 ::windows::runtime::Param::Borrowed(&self.0) 2721 } 2722 } 2723 unsafe impl ::std::marker::Send for UsbInterruptOutEndpointDescriptor {} 2724 unsafe impl ::std::marker::Sync for UsbInterruptOutEndpointDescriptor {} 2725 #[repr(transparent)] 2726 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 2727 pub struct UsbInterruptOutPipe(::windows::runtime::IInspectable); 2728 impl UsbInterruptOutPipe { EndpointDescriptor(&self) -> ::windows::runtime::Result<UsbInterruptOutEndpointDescriptor>2729 pub fn EndpointDescriptor(&self) -> ::windows::runtime::Result<UsbInterruptOutEndpointDescriptor> { 2730 let this = self; 2731 unsafe { 2732 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 2733 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UsbInterruptOutEndpointDescriptor>(result__) 2734 } 2735 } 2736 #[cfg(feature = "Foundation")] ClearStallAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction>2737 pub fn ClearStallAsync(&self) -> ::windows::runtime::Result<super::super::Foundation::IAsyncAction> { 2738 let this = self; 2739 unsafe { 2740 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 2741 (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Foundation::IAsyncAction>(result__) 2742 } 2743 } SetWriteOptions(&self, value: UsbWriteOptions) -> ::windows::runtime::Result<()>2744 pub fn SetWriteOptions(&self, value: UsbWriteOptions) -> ::windows::runtime::Result<()> { 2745 let this = self; 2746 unsafe { (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), value).ok() } 2747 } WriteOptions(&self) -> ::windows::runtime::Result<UsbWriteOptions>2748 pub fn WriteOptions(&self) -> ::windows::runtime::Result<UsbWriteOptions> { 2749 let this = self; 2750 unsafe { 2751 let mut result__: UsbWriteOptions = ::std::mem::zeroed(); 2752 (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UsbWriteOptions>(result__) 2753 } 2754 } 2755 #[cfg(feature = "Storage_Streams")] OutputStream(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IOutputStream>2756 pub fn OutputStream(&self) -> ::windows::runtime::Result<super::super::Storage::Streams::IOutputStream> { 2757 let this = self; 2758 unsafe { 2759 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 2760 (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<super::super::Storage::Streams::IOutputStream>(result__) 2761 } 2762 } 2763 } 2764 unsafe impl ::windows::runtime::RuntimeType for UsbInterruptOutPipe { 2765 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.Usb.UsbInterruptOutPipe;{e984c8a9-aaf9-49d0-b96c-f661ab4a7f95})"); 2766 } 2767 unsafe impl ::windows::runtime::Interface for UsbInterruptOutPipe { 2768 type Vtable = IUsbInterruptOutPipe_abi; 2769 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(3917793449, 43769, 18896, [185, 108, 246, 97, 171, 74, 127, 149]); 2770 } 2771 impl ::windows::runtime::RuntimeName for UsbInterruptOutPipe { 2772 const NAME: &'static str = "Windows.Devices.Usb.UsbInterruptOutPipe"; 2773 } 2774 impl ::std::convert::From<UsbInterruptOutPipe> for ::windows::runtime::IUnknown { from(value: UsbInterruptOutPipe) -> Self2775 fn from(value: UsbInterruptOutPipe) -> Self { 2776 unsafe { ::std::mem::transmute(value) } 2777 } 2778 } 2779 impl ::std::convert::From<&UsbInterruptOutPipe> for ::windows::runtime::IUnknown { from(value: &UsbInterruptOutPipe) -> Self2780 fn from(value: &UsbInterruptOutPipe) -> Self { 2781 ::std::convert::From::from(::std::clone::Clone::clone(value)) 2782 } 2783 } 2784 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for UsbInterruptOutPipe { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2785 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 2786 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self)) 2787 } 2788 } 2789 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &UsbInterruptOutPipe { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2790 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 2791 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self))) 2792 } 2793 } 2794 impl ::std::convert::From<UsbInterruptOutPipe> for ::windows::runtime::IInspectable { from(value: UsbInterruptOutPipe) -> Self2795 fn from(value: UsbInterruptOutPipe) -> Self { 2796 value.0 2797 } 2798 } 2799 impl ::std::convert::From<&UsbInterruptOutPipe> for ::windows::runtime::IInspectable { from(value: &UsbInterruptOutPipe) -> Self2800 fn from(value: &UsbInterruptOutPipe) -> Self { 2801 value.0.clone() 2802 } 2803 } 2804 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for UsbInterruptOutPipe { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2805 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 2806 ::windows::runtime::Param::Owned(self.0) 2807 } 2808 } 2809 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a UsbInterruptOutPipe { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2810 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 2811 ::windows::runtime::Param::Borrowed(&self.0) 2812 } 2813 } 2814 unsafe impl ::std::marker::Send for UsbInterruptOutPipe {} 2815 unsafe impl ::std::marker::Sync for UsbInterruptOutPipe {} 2816 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)] 2817 #[repr(transparent)] 2818 pub struct UsbReadOptions(pub u32); 2819 impl UsbReadOptions { 2820 pub const None: UsbReadOptions = UsbReadOptions(0u32); 2821 pub const AutoClearStall: UsbReadOptions = UsbReadOptions(1u32); 2822 pub const OverrideAutomaticBufferManagement: UsbReadOptions = UsbReadOptions(2u32); 2823 pub const IgnoreShortPacket: UsbReadOptions = UsbReadOptions(4u32); 2824 pub const AllowPartialReads: UsbReadOptions = UsbReadOptions(8u32); 2825 } 2826 impl ::std::convert::From<u32> for UsbReadOptions { from(value: u32) -> Self2827 fn from(value: u32) -> Self { 2828 Self(value) 2829 } 2830 } 2831 unsafe impl ::windows::runtime::Abi for UsbReadOptions { 2832 type Abi = Self; 2833 type DefaultType = Self; 2834 } 2835 unsafe impl ::windows::runtime::RuntimeType for UsbReadOptions { 2836 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Devices.Usb.UsbReadOptions;u4)"); 2837 } 2838 impl ::std::ops::BitOr for UsbReadOptions { 2839 type Output = Self; bitor(self, rhs: Self) -> Self2840 fn bitor(self, rhs: Self) -> Self { 2841 Self(self.0 | rhs.0) 2842 } 2843 } 2844 impl ::std::ops::BitAnd for UsbReadOptions { 2845 type Output = Self; bitand(self, rhs: Self) -> Self2846 fn bitand(self, rhs: Self) -> Self { 2847 Self(self.0 & rhs.0) 2848 } 2849 } 2850 impl ::std::ops::BitOrAssign for UsbReadOptions { bitor_assign(&mut self, rhs: Self)2851 fn bitor_assign(&mut self, rhs: Self) { 2852 self.0.bitor_assign(rhs.0) 2853 } 2854 } 2855 impl ::std::ops::BitAndAssign for UsbReadOptions { bitand_assign(&mut self, rhs: Self)2856 fn bitand_assign(&mut self, rhs: Self) { 2857 self.0.bitand_assign(rhs.0) 2858 } 2859 } 2860 impl ::std::ops::Not for UsbReadOptions { 2861 type Output = Self; not(self) -> Self2862 fn not(self) -> Self { 2863 Self(self.0.not()) 2864 } 2865 } 2866 #[repr(transparent)] 2867 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: clone :: Clone, :: std :: fmt :: Debug)] 2868 pub struct UsbSetupPacket(::windows::runtime::IInspectable); 2869 impl UsbSetupPacket { new() -> ::windows::runtime::Result<Self>2870 pub fn new() -> ::windows::runtime::Result<Self> { 2871 Self::IActivationFactory(|f| f.activate_instance::<Self>()) 2872 } IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>2873 fn IActivationFactory<R, F: FnOnce(&::windows::runtime::IActivationFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> { 2874 static mut SHARED: ::windows::runtime::FactoryCache<UsbSetupPacket, ::windows::runtime::IActivationFactory> = ::windows::runtime::FactoryCache::new(); 2875 unsafe { SHARED.call(callback) } 2876 } RequestType(&self) -> ::windows::runtime::Result<UsbControlRequestType>2877 pub fn RequestType(&self) -> ::windows::runtime::Result<UsbControlRequestType> { 2878 let this = self; 2879 unsafe { 2880 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 2881 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), &mut result__).from_abi::<UsbControlRequestType>(result__) 2882 } 2883 } SetRequestType<'a, Param0: ::windows::runtime::IntoParam<'a, UsbControlRequestType>>(&self, value: Param0) -> ::windows::runtime::Result<()>2884 pub fn SetRequestType<'a, Param0: ::windows::runtime::IntoParam<'a, UsbControlRequestType>>(&self, value: Param0) -> ::windows::runtime::Result<()> { 2885 let this = self; 2886 unsafe { (::windows::runtime::Interface::vtable(this).7)(::std::mem::transmute_copy(this), value.into_param().abi()).ok() } 2887 } Request(&self) -> ::windows::runtime::Result<u8>2888 pub fn Request(&self) -> ::windows::runtime::Result<u8> { 2889 let this = self; 2890 unsafe { 2891 let mut result__: u8 = ::std::mem::zeroed(); 2892 (::windows::runtime::Interface::vtable(this).8)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u8>(result__) 2893 } 2894 } SetRequest(&self, value: u8) -> ::windows::runtime::Result<()>2895 pub fn SetRequest(&self, value: u8) -> ::windows::runtime::Result<()> { 2896 let this = self; 2897 unsafe { (::windows::runtime::Interface::vtable(this).9)(::std::mem::transmute_copy(this), value).ok() } 2898 } Value(&self) -> ::windows::runtime::Result<u32>2899 pub fn Value(&self) -> ::windows::runtime::Result<u32> { 2900 let this = self; 2901 unsafe { 2902 let mut result__: u32 = ::std::mem::zeroed(); 2903 (::windows::runtime::Interface::vtable(this).10)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__) 2904 } 2905 } SetValue(&self, value: u32) -> ::windows::runtime::Result<()>2906 pub fn SetValue(&self, value: u32) -> ::windows::runtime::Result<()> { 2907 let this = self; 2908 unsafe { (::windows::runtime::Interface::vtable(this).11)(::std::mem::transmute_copy(this), value).ok() } 2909 } Index(&self) -> ::windows::runtime::Result<u32>2910 pub fn Index(&self) -> ::windows::runtime::Result<u32> { 2911 let this = self; 2912 unsafe { 2913 let mut result__: u32 = ::std::mem::zeroed(); 2914 (::windows::runtime::Interface::vtable(this).12)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__) 2915 } 2916 } SetIndex(&self, value: u32) -> ::windows::runtime::Result<()>2917 pub fn SetIndex(&self, value: u32) -> ::windows::runtime::Result<()> { 2918 let this = self; 2919 unsafe { (::windows::runtime::Interface::vtable(this).13)(::std::mem::transmute_copy(this), value).ok() } 2920 } Length(&self) -> ::windows::runtime::Result<u32>2921 pub fn Length(&self) -> ::windows::runtime::Result<u32> { 2922 let this = self; 2923 unsafe { 2924 let mut result__: u32 = ::std::mem::zeroed(); 2925 (::windows::runtime::Interface::vtable(this).14)(::std::mem::transmute_copy(this), &mut result__).from_abi::<u32>(result__) 2926 } 2927 } SetLength(&self, value: u32) -> ::windows::runtime::Result<()>2928 pub fn SetLength(&self, value: u32) -> ::windows::runtime::Result<()> { 2929 let this = self; 2930 unsafe { (::windows::runtime::Interface::vtable(this).15)(::std::mem::transmute_copy(this), value).ok() } 2931 } 2932 #[cfg(feature = "Storage_Streams")] CreateWithEightByteBuffer<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IBuffer>>(eightbytebuffer: Param0) -> ::windows::runtime::Result<UsbSetupPacket>2933 pub fn CreateWithEightByteBuffer<'a, Param0: ::windows::runtime::IntoParam<'a, super::super::Storage::Streams::IBuffer>>(eightbytebuffer: Param0) -> ::windows::runtime::Result<UsbSetupPacket> { 2934 Self::IUsbSetupPacketFactory(|this| unsafe { 2935 let mut result__: ::windows::runtime::RawPtr = ::std::mem::zeroed(); 2936 (::windows::runtime::Interface::vtable(this).6)(::std::mem::transmute_copy(this), eightbytebuffer.into_param().abi(), &mut result__).from_abi::<UsbSetupPacket>(result__) 2937 }) 2938 } IUsbSetupPacketFactory<R, F: FnOnce(&IUsbSetupPacketFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R>2939 pub fn IUsbSetupPacketFactory<R, F: FnOnce(&IUsbSetupPacketFactory) -> ::windows::runtime::Result<R>>(callback: F) -> ::windows::runtime::Result<R> { 2940 static mut SHARED: ::windows::runtime::FactoryCache<UsbSetupPacket, IUsbSetupPacketFactory> = ::windows::runtime::FactoryCache::new(); 2941 unsafe { SHARED.call(callback) } 2942 } 2943 } 2944 unsafe impl ::windows::runtime::RuntimeType for UsbSetupPacket { 2945 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"rc(Windows.Devices.Usb.UsbSetupPacket;{104ba132-c78f-4c51-b654-e49d02f2cb03})"); 2946 } 2947 unsafe impl ::windows::runtime::Interface for UsbSetupPacket { 2948 type Vtable = IUsbSetupPacket_abi; 2949 const IID: ::windows::runtime::GUID = ::windows::runtime::GUID::from_values(273391922, 51087, 19537, [182, 84, 228, 157, 2, 242, 203, 3]); 2950 } 2951 impl ::windows::runtime::RuntimeName for UsbSetupPacket { 2952 const NAME: &'static str = "Windows.Devices.Usb.UsbSetupPacket"; 2953 } 2954 impl ::std::convert::From<UsbSetupPacket> for ::windows::runtime::IUnknown { from(value: UsbSetupPacket) -> Self2955 fn from(value: UsbSetupPacket) -> Self { 2956 unsafe { ::std::mem::transmute(value) } 2957 } 2958 } 2959 impl ::std::convert::From<&UsbSetupPacket> for ::windows::runtime::IUnknown { from(value: &UsbSetupPacket) -> Self2960 fn from(value: &UsbSetupPacket) -> Self { 2961 ::std::convert::From::from(::std::clone::Clone::clone(value)) 2962 } 2963 } 2964 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for UsbSetupPacket { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2965 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 2966 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(self)) 2967 } 2968 } 2969 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IUnknown> for &UsbSetupPacket { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown>2970 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IUnknown> { 2971 ::windows::runtime::Param::Owned(::std::convert::Into::<::windows::runtime::IUnknown>::into(::std::clone::Clone::clone(self))) 2972 } 2973 } 2974 impl ::std::convert::From<UsbSetupPacket> for ::windows::runtime::IInspectable { from(value: UsbSetupPacket) -> Self2975 fn from(value: UsbSetupPacket) -> Self { 2976 value.0 2977 } 2978 } 2979 impl ::std::convert::From<&UsbSetupPacket> for ::windows::runtime::IInspectable { from(value: &UsbSetupPacket) -> Self2980 fn from(value: &UsbSetupPacket) -> Self { 2981 value.0.clone() 2982 } 2983 } 2984 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for UsbSetupPacket { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2985 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 2986 ::windows::runtime::Param::Owned(self.0) 2987 } 2988 } 2989 impl<'a> ::windows::runtime::IntoParam<'a, ::windows::runtime::IInspectable> for &'a UsbSetupPacket { into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable>2990 fn into_param(self) -> ::windows::runtime::Param<'a, ::windows::runtime::IInspectable> { 2991 ::windows::runtime::Param::Borrowed(&self.0) 2992 } 2993 } 2994 unsafe impl ::std::marker::Send for UsbSetupPacket {} 2995 unsafe impl ::std::marker::Sync for UsbSetupPacket {} 2996 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)] 2997 #[repr(transparent)] 2998 pub struct UsbTransferDirection(pub i32); 2999 impl UsbTransferDirection { 3000 pub const Out: UsbTransferDirection = UsbTransferDirection(0i32); 3001 pub const In: UsbTransferDirection = UsbTransferDirection(1i32); 3002 } 3003 impl ::std::convert::From<i32> for UsbTransferDirection { from(value: i32) -> Self3004 fn from(value: i32) -> Self { 3005 Self(value) 3006 } 3007 } 3008 unsafe impl ::windows::runtime::Abi for UsbTransferDirection { 3009 type Abi = Self; 3010 type DefaultType = Self; 3011 } 3012 unsafe impl ::windows::runtime::RuntimeType for UsbTransferDirection { 3013 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Devices.Usb.UsbTransferDirection;i4)"); 3014 } 3015 #[derive(:: std :: cmp :: PartialEq, :: std :: cmp :: Eq, :: std :: marker :: Copy, :: std :: clone :: Clone, :: std :: default :: Default, :: std :: fmt :: Debug)] 3016 #[repr(transparent)] 3017 pub struct UsbWriteOptions(pub u32); 3018 impl UsbWriteOptions { 3019 pub const None: UsbWriteOptions = UsbWriteOptions(0u32); 3020 pub const AutoClearStall: UsbWriteOptions = UsbWriteOptions(1u32); 3021 pub const ShortPacketTerminate: UsbWriteOptions = UsbWriteOptions(2u32); 3022 } 3023 impl ::std::convert::From<u32> for UsbWriteOptions { from(value: u32) -> Self3024 fn from(value: u32) -> Self { 3025 Self(value) 3026 } 3027 } 3028 unsafe impl ::windows::runtime::Abi for UsbWriteOptions { 3029 type Abi = Self; 3030 type DefaultType = Self; 3031 } 3032 unsafe impl ::windows::runtime::RuntimeType for UsbWriteOptions { 3033 const SIGNATURE: ::windows::runtime::ConstBuffer = ::windows::runtime::ConstBuffer::from_slice(b"enum(Windows.Devices.Usb.UsbWriteOptions;u4)"); 3034 } 3035 impl ::std::ops::BitOr for UsbWriteOptions { 3036 type Output = Self; bitor(self, rhs: Self) -> Self3037 fn bitor(self, rhs: Self) -> Self { 3038 Self(self.0 | rhs.0) 3039 } 3040 } 3041 impl ::std::ops::BitAnd for UsbWriteOptions { 3042 type Output = Self; bitand(self, rhs: Self) -> Self3043 fn bitand(self, rhs: Self) -> Self { 3044 Self(self.0 & rhs.0) 3045 } 3046 } 3047 impl ::std::ops::BitOrAssign for UsbWriteOptions { bitor_assign(&mut self, rhs: Self)3048 fn bitor_assign(&mut self, rhs: Self) { 3049 self.0.bitor_assign(rhs.0) 3050 } 3051 } 3052 impl ::std::ops::BitAndAssign for UsbWriteOptions { bitand_assign(&mut self, rhs: Self)3053 fn bitand_assign(&mut self, rhs: Self) { 3054 self.0.bitand_assign(rhs.0) 3055 } 3056 } 3057 impl ::std::ops::Not for UsbWriteOptions { 3058 type Output = Self; not(self) -> Self3059 fn not(self) -> Self { 3060 Self(self.0.not()) 3061 } 3062 } 3063