1 #[link(name = "windows")]
3 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
4 #[cfg(feature = "Win32_Foundation")]
5 pub fn WinUsb_AbortPipe(interfacehandle
: *const ::core
::ffi
::c_void
, pipeid
: u8) -> super::super::Foundation
::BOOL
;
6 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`, `\"Win32_System_IO\"`*"]
7 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_IO"))]
8 pub fn WinUsb_ControlTransfer(interfacehandle
: *const ::core
::ffi
::c_void
, setuppacket
: WINUSB_SETUP_PACKET
, buffer
: *mut u8, bufferlength
: u32, lengthtransferred
: *mut u32, overlapped
: *const super::super::System
::IO
::OVERLAPPED
) -> super::super::Foundation
::BOOL
;
9 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
10 #[cfg(feature = "Win32_Foundation")]
11 pub fn WinUsb_FlushPipe(interfacehandle
: *const ::core
::ffi
::c_void
, pipeid
: u8) -> super::super::Foundation
::BOOL
;
12 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
13 #[cfg(feature = "Win32_Foundation")]
14 pub fn WinUsb_Free(interfacehandle
: *const ::core
::ffi
::c_void
) -> super::super::Foundation
::BOOL
;
15 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
16 #[cfg(feature = "Win32_Foundation")]
17 pub fn WinUsb_GetAdjustedFrameNumber(currentframenumber
: *mut u32, timestamp
: i64) -> super::super::Foundation
::BOOL
;
18 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
19 #[cfg(feature = "Win32_Foundation")]
20 pub fn WinUsb_GetAssociatedInterface(interfacehandle
: *const ::core
::ffi
::c_void
, associatedinterfaceindex
: u8, associatedinterfacehandle
: *mut *mut ::core
::ffi
::c_void
) -> super::super::Foundation
::BOOL
;
21 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
22 #[cfg(feature = "Win32_Foundation")]
23 pub fn WinUsb_GetCurrentAlternateSetting(interfacehandle
: *const ::core
::ffi
::c_void
, settingnumber
: *mut u8) -> super::super::Foundation
::BOOL
;
24 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
25 #[cfg(feature = "Win32_Foundation")]
26 pub fn WinUsb_GetCurrentFrameNumber(interfacehandle
: *const ::core
::ffi
::c_void
, currentframenumber
: *mut u32, timestamp
: *mut i64) -> super::super::Foundation
::BOOL
;
27 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
28 #[cfg(feature = "Win32_Foundation")]
29 pub fn WinUsb_GetCurrentFrameNumberAndQpc(interfacehandle
: *const ::core
::ffi
::c_void
, frameqpcinfo
: *const USB_FRAME_NUMBER_AND_QPC_FOR_TIME_SYNC_INFORMATION
) -> super::super::Foundation
::BOOL
;
30 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
31 #[cfg(feature = "Win32_Foundation")]
32 pub fn WinUsb_GetDescriptor(interfacehandle
: *const ::core
::ffi
::c_void
, descriptortype
: u8, index
: u8, languageid
: u16, buffer
: *mut u8, bufferlength
: u32, lengthtransferred
: *mut u32) -> super::super::Foundation
::BOOL
;
33 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`, `\"Win32_System_IO\"`*"]
34 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_IO"))]
35 pub fn WinUsb_GetOverlappedResult(interfacehandle
: *const ::core
::ffi
::c_void
, lpoverlapped
: *const super::super::System
::IO
::OVERLAPPED
, lpnumberofbytestransferred
: *mut u32, bwait
: super::super::Foundation
::BOOL
) -> super::super::Foundation
::BOOL
;
36 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
37 #[cfg(feature = "Win32_Foundation")]
38 pub fn WinUsb_GetPipePolicy(interfacehandle
: *const ::core
::ffi
::c_void
, pipeid
: u8, policytype
: u32, valuelength
: *mut u32, value
: *mut ::core
::ffi
::c_void
) -> super::super::Foundation
::BOOL
;
39 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
40 #[cfg(feature = "Win32_Foundation")]
41 pub fn WinUsb_GetPowerPolicy(interfacehandle
: *const ::core
::ffi
::c_void
, policytype
: u32, valuelength
: *mut u32, value
: *mut ::core
::ffi
::c_void
) -> super::super::Foundation
::BOOL
;
42 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
43 #[cfg(feature = "Win32_Foundation")]
44 pub fn WinUsb_Initialize(devicehandle
: super::super::Foundation
::HANDLE
, interfacehandle
: *mut *mut ::core
::ffi
::c_void
) -> super::super::Foundation
::BOOL
;
45 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
46 pub fn WinUsb_ParseConfigurationDescriptor(configurationdescriptor
: *const USB_CONFIGURATION_DESCRIPTOR
, startposition
: *const ::core
::ffi
::c_void
, interfacenumber
: i32, alternatesetting
: i32, interfaceclass
: i32, interfacesubclass
: i32, interfaceprotocol
: i32) -> *mut USB_INTERFACE_DESCRIPTOR
;
47 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
48 pub fn WinUsb_ParseDescriptors(descriptorbuffer
: *const ::core
::ffi
::c_void
, totallength
: u32, startposition
: *const ::core
::ffi
::c_void
, descriptortype
: i32) -> *mut USB_COMMON_DESCRIPTOR
;
49 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
50 #[cfg(feature = "Win32_Foundation")]
51 pub fn WinUsb_QueryDeviceInformation(interfacehandle
: *const ::core
::ffi
::c_void
, informationtype
: u32, bufferlength
: *mut u32, buffer
: *mut ::core
::ffi
::c_void
) -> super::super::Foundation
::BOOL
;
52 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
53 #[cfg(feature = "Win32_Foundation")]
54 pub fn WinUsb_QueryInterfaceSettings(interfacehandle
: *const ::core
::ffi
::c_void
, alternateinterfacenumber
: u8, usbaltinterfacedescriptor
: *mut USB_INTERFACE_DESCRIPTOR
) -> super::super::Foundation
::BOOL
;
55 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
56 #[cfg(feature = "Win32_Foundation")]
57 pub fn WinUsb_QueryPipe(interfacehandle
: *const ::core
::ffi
::c_void
, alternateinterfacenumber
: u8, pipeindex
: u8, pipeinformation
: *mut WINUSB_PIPE_INFORMATION
) -> super::super::Foundation
::BOOL
;
58 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
59 #[cfg(feature = "Win32_Foundation")]
60 pub fn WinUsb_QueryPipeEx(interfacehandle
: *const ::core
::ffi
::c_void
, alternatesettingnumber
: u8, pipeindex
: u8, pipeinformationex
: *mut WINUSB_PIPE_INFORMATION_EX
) -> super::super::Foundation
::BOOL
;
61 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`, `\"Win32_System_IO\"`*"]
62 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_IO"))]
63 pub fn WinUsb_ReadIsochPipe(bufferhandle
: *const ::core
::ffi
::c_void
, offset
: u32, length
: u32, framenumber
: *mut u32, numberofpackets
: u32, isopacketdescriptors
: *mut USBD_ISO_PACKET_DESCRIPTOR
, overlapped
: *const super::super::System
::IO
::OVERLAPPED
) -> super::super::Foundation
::BOOL
;
64 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`, `\"Win32_System_IO\"`*"]
65 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_IO"))]
66 pub fn WinUsb_ReadIsochPipeAsap(bufferhandle
: *const ::core
::ffi
::c_void
, offset
: u32, length
: u32, continuestream
: super::super::Foundation
::BOOL
, numberofpackets
: u32, isopacketdescriptors
: *mut USBD_ISO_PACKET_DESCRIPTOR
, overlapped
: *const super::super::System
::IO
::OVERLAPPED
) -> super::super::Foundation
::BOOL
;
67 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`, `\"Win32_System_IO\"`*"]
68 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_IO"))]
69 pub fn WinUsb_ReadPipe(interfacehandle
: *const ::core
::ffi
::c_void
, pipeid
: u8, buffer
: *mut u8, bufferlength
: u32, lengthtransferred
: *mut u32, overlapped
: *const super::super::System
::IO
::OVERLAPPED
) -> super::super::Foundation
::BOOL
;
70 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
71 #[cfg(feature = "Win32_Foundation")]
72 pub fn WinUsb_RegisterIsochBuffer(interfacehandle
: *const ::core
::ffi
::c_void
, pipeid
: u8, buffer
: *mut u8, bufferlength
: u32, isochbufferhandle
: *mut *mut ::core
::ffi
::c_void
) -> super::super::Foundation
::BOOL
;
73 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
74 #[cfg(feature = "Win32_Foundation")]
75 pub fn WinUsb_ResetPipe(interfacehandle
: *const ::core
::ffi
::c_void
, pipeid
: u8) -> super::super::Foundation
::BOOL
;
76 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
77 #[cfg(feature = "Win32_Foundation")]
78 pub fn WinUsb_SetCurrentAlternateSetting(interfacehandle
: *const ::core
::ffi
::c_void
, settingnumber
: u8) -> super::super::Foundation
::BOOL
;
79 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
80 #[cfg(feature = "Win32_Foundation")]
81 pub fn WinUsb_SetPipePolicy(interfacehandle
: *const ::core
::ffi
::c_void
, pipeid
: u8, policytype
: u32, valuelength
: u32, value
: *const ::core
::ffi
::c_void
) -> super::super::Foundation
::BOOL
;
82 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
83 #[cfg(feature = "Win32_Foundation")]
84 pub fn WinUsb_SetPowerPolicy(interfacehandle
: *const ::core
::ffi
::c_void
, policytype
: u32, valuelength
: u32, value
: *const ::core
::ffi
::c_void
) -> super::super::Foundation
::BOOL
;
85 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
86 #[cfg(feature = "Win32_Foundation")]
87 pub fn WinUsb_StartTrackingForTimeSync(interfacehandle
: *const ::core
::ffi
::c_void
, starttrackinginfo
: *const USB_START_TRACKING_FOR_TIME_SYNC_INFORMATION
) -> super::super::Foundation
::BOOL
;
88 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
89 #[cfg(feature = "Win32_Foundation")]
90 pub fn WinUsb_StopTrackingForTimeSync(interfacehandle
: *const ::core
::ffi
::c_void
, stoptrackinginfo
: *const USB_STOP_TRACKING_FOR_TIME_SYNC_INFORMATION
) -> super::super::Foundation
::BOOL
;
91 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
92 #[cfg(feature = "Win32_Foundation")]
93 pub fn WinUsb_UnregisterIsochBuffer(isochbufferhandle
: *const ::core
::ffi
::c_void
) -> super::super::Foundation
::BOOL
;
94 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`, `\"Win32_System_IO\"`*"]
95 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_IO"))]
96 pub fn WinUsb_WriteIsochPipe(bufferhandle
: *const ::core
::ffi
::c_void
, offset
: u32, length
: u32, framenumber
: *mut u32, overlapped
: *const super::super::System
::IO
::OVERLAPPED
) -> super::super::Foundation
::BOOL
;
97 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`, `\"Win32_System_IO\"`*"]
98 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_IO"))]
99 pub fn WinUsb_WriteIsochPipeAsap(bufferhandle
: *const ::core
::ffi
::c_void
, offset
: u32, length
: u32, continuestream
: super::super::Foundation
::BOOL
, overlapped
: *const super::super::System
::IO
::OVERLAPPED
) -> super::super::Foundation
::BOOL
;
100 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`, `\"Win32_System_IO\"`*"]
101 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_IO"))]
102 pub fn WinUsb_WritePipe(interfacehandle
: *const ::core
::ffi
::c_void
, pipeid
: u8, buffer
: *const u8, bufferlength
: u32, lengthtransferred
: *mut u32, overlapped
: *const super::super::System
::IO
::OVERLAPPED
) -> super::super::Foundation
::BOOL
;
104 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
105 pub const ALLOW_PARTIAL_READS
: u32 = 5u32;
107 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
108 pub struct ALTERNATE_INTERFACE
{
109 pub InterfaceNumber
: u16,
110 pub AlternateInterfaceNumber
: u16,
112 impl ::core
::marker
::Copy
for ALTERNATE_INTERFACE {}
113 impl ::core
::clone
::Clone
for ALTERNATE_INTERFACE
{
114 fn clone(&self) -> Self {
118 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
119 pub const AUTO_CLEAR_STALL
: u32 = 2u32;
120 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
121 pub const AUTO_FLUSH
: u32 = 6u32;
122 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
123 pub const AUTO_SUSPEND
: u32 = 129u32;
124 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
125 pub const BMREQUEST_CLASS
: u32 = 1u32;
126 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
127 pub const BMREQUEST_DEVICE_TO_HOST
: u32 = 1u32;
128 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
129 pub const BMREQUEST_HOST_TO_DEVICE
: u32 = 0u32;
130 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
131 pub const BMREQUEST_STANDARD
: u32 = 0u32;
132 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
133 pub const BMREQUEST_TO_DEVICE
: u32 = 0u32;
134 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
135 pub const BMREQUEST_TO_ENDPOINT
: u32 = 2u32;
136 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
137 pub const BMREQUEST_TO_INTERFACE
: u32 = 1u32;
138 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
139 pub const BMREQUEST_TO_OTHER
: u32 = 3u32;
140 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
141 pub const BMREQUEST_VENDOR
: u32 = 2u32;
143 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
144 pub union BM_REQUEST_TYPE
{
145 pub s
: BM_REQUEST_TYPE_0
,
148 impl ::core
::marker
::Copy
for BM_REQUEST_TYPE {}
149 impl ::core
::clone
::Clone
for BM_REQUEST_TYPE
{
150 fn clone(&self) -> Self {
155 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
156 pub struct BM_REQUEST_TYPE_0
{
159 impl ::core
::marker
::Copy
for BM_REQUEST_TYPE_0 {}
160 impl ::core
::clone
::Clone
for BM_REQUEST_TYPE_0
{
161 fn clone(&self) -> Self {
165 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
166 pub const BULKIN_FLAG
: u32 = 128u32;
168 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
169 pub struct CHANNEL_INFO
{
170 pub EventChannelSize
: u32,
171 pub uReadDataAlignment
: u32,
172 pub uWriteDataAlignment
: u32,
174 impl ::core
::marker
::Copy
for CHANNEL_INFO {}
175 impl ::core
::clone
::Clone
for CHANNEL_INFO
{
176 fn clone(&self) -> Self {
181 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
182 pub struct DEVICE_DESCRIPTOR
{
184 pub usProductId
: u16,
185 pub usBcdDevice
: u16,
186 pub usLanguageId
: u16,
188 impl ::core
::marker
::Copy
for DEVICE_DESCRIPTOR {}
189 impl ::core
::clone
::Clone
for DEVICE_DESCRIPTOR
{
190 fn clone(&self) -> Self {
194 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
195 pub const DEVICE_SPEED
: u32 = 1u32;
197 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
198 pub struct DRV_VERSION
{
203 impl ::core
::marker
::Copy
for DRV_VERSION {}
204 impl ::core
::clone
::Clone
for DRV_VERSION
{
205 fn clone(&self) -> Self {
209 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
210 pub const FILE_DEVICE_USB
: u32 = 34u32;
211 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
212 pub const FILE_DEVICE_USB_SCAN
: u32 = 32768u32;
213 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
214 pub const FullSpeed
: u32 = 2u32;
215 pub const GUID_DEVINTERFACE_USB_BILLBOARD
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 1587206895, data2: 63609, data3: 18239, data4: [184, 7, 78, 94, 167, 125, 27, 28] }
;
216 pub const GUID_DEVINTERFACE_USB_DEVICE
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 2782707472, data2: 25904, data3: 4562, data4: [144, 31, 0, 192, 79, 185, 81, 237] }
;
217 pub const GUID_DEVINTERFACE_USB_HOST_CONTROLLER
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 985624365, data2: 29124, data3: 17962, data4: [138, 146, 30, 104, 97, 230, 175, 39] }
;
218 pub const GUID_DEVINTERFACE_USB_HUB
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 4052356744, data2: 49932, data3: 4560, data4: [136, 21, 0, 160, 201, 6, 190, 216] }
;
219 pub const GUID_USB_MSOS20_PLATFORM_CAPABILITY_ID
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 3638386911, data2: 17801, data3: 19655, data4: [156, 210, 101, 157, 158, 100, 138, 159] }
;
220 pub const GUID_USB_PERFORMANCE_TRACING
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 3588126630, data2: 27369, data3: 16988, data4: [177, 226, 245, 97, 95, 211, 72, 169] }
;
221 pub const GUID_USB_TRANSFER_TRACING
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 1746843818, data2: 16445, data3: 17708, data4: [159, 138, 240, 97, 111, 172, 149, 64] }
;
222 pub const GUID_USB_WMI_DEVICE_PERF_INFO
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 1723968060, data2: 18847, data3: 18848, data4: [169, 165, 97, 226, 53, 159, 100, 7] }
;
223 pub const GUID_USB_WMI_NODE_INFO
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 2618790743, data2: 56442, data3: 20289, data4: [182, 107, 50, 59, 157, 220, 181, 177] }
;
224 pub const GUID_USB_WMI_STD_DATA
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 1315060512, data2: 51988, data3: 4561, data4: [179, 49, 0, 160, 201, 89, 187, 210] }
;
225 pub const GUID_USB_WMI_STD_NOTIFICATION
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 1315060512, data2: 51988, data3: 4561, data4: [179, 49, 0, 160, 201, 89, 187, 210] }
;
226 pub const GUID_USB_WMI_SURPRISE_REMOVAL_NOTIFICATION
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 2612787249, data2: 41714, data3: 17332, data4: [150, 209, 134, 148, 75, 89, 20, 179] }
;
227 pub const GUID_USB_WMI_TRACING
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 979470363, data2: 46310, data3: 19449, data4: [174, 15, 60, 216, 243, 148, 229, 47] }
;
228 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
229 pub const HCD_DIAGNOSTIC_MODE_OFF
: u32 = 257u32;
230 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
231 pub const HCD_DIAGNOSTIC_MODE_ON
: u32 = 256u32;
232 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
233 pub const HCD_DISABLE_PORT
: u32 = 268u32;
234 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
235 pub const HCD_ENABLE_PORT
: u32 = 269u32;
236 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
237 pub const HCD_GET_DRIVERKEY_NAME
: u32 = 265u32;
238 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
239 pub const HCD_GET_ROOT_HUB_NAME
: u32 = 258u32;
240 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
241 pub const HCD_GET_STATS_1
: u32 = 255u32;
242 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
243 pub const HCD_GET_STATS_2
: u32 = 266u32;
244 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
245 pub const HCD_TRACE_READ_REQUEST
: u32 = 275u32;
246 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
247 pub const HCD_USER_REQUEST
: u32 = 270u32;
248 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
249 pub const HighSpeed
: u32 = 3u32;
250 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
251 pub const IGNORE_SHORT_PACKETS
: u32 = 4u32;
252 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
253 pub const IOCTL_ABORT_PIPE
: u32 = 2147491844u32;
254 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
255 pub const IOCTL_CANCEL_IO
: u32 = 2147491844u32;
256 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
257 pub const IOCTL_GENERICUSBFN_ACTIVATE_USB_BUS
: u32 = 2277420u32;
258 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
259 pub const IOCTL_GENERICUSBFN_BUS_EVENT_NOTIFICATION
: u32 = 2277430u32;
260 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
261 pub const IOCTL_GENERICUSBFN_CONTROL_STATUS_HANDSHAKE_IN
: u32 = 2277400u32;
262 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
263 pub const IOCTL_GENERICUSBFN_CONTROL_STATUS_HANDSHAKE_OUT
: u32 = 2277404u32;
264 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
265 pub const IOCTL_GENERICUSBFN_DEACTIVATE_USB_BUS
: u32 = 2277424u32;
266 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
267 pub const IOCTL_GENERICUSBFN_GET_CLASS_INFO
: u32 = 2277410u32;
268 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
269 pub const IOCTL_GENERICUSBFN_GET_CLASS_INFO_EX
: u32 = 2277434u32;
270 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
271 pub const IOCTL_GENERICUSBFN_GET_INTERFACE_DESCRIPTOR_SET
: u32 = 2277438u32;
272 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
273 pub const IOCTL_GENERICUSBFN_GET_PIPE_STATE
: u32 = 2277414u32;
274 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
275 pub const IOCTL_GENERICUSBFN_REGISTER_USB_STRING
: u32 = 2277441u32;
276 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
277 pub const IOCTL_GENERICUSBFN_SET_PIPE_STATE
: u32 = 2277417u32;
278 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
279 pub const IOCTL_GENERICUSBFN_TRANSFER_IN
: u32 = 2277389u32;
280 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
281 pub const IOCTL_GENERICUSBFN_TRANSFER_IN_APPEND_ZERO_PKT
: u32 = 2277393u32;
282 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
283 pub const IOCTL_GENERICUSBFN_TRANSFER_OUT
: u32 = 2277398u32;
284 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
285 pub const IOCTL_GET_CHANNEL_ALIGN_RQST
: u32 = 2147491860u32;
286 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
287 pub const IOCTL_GET_DEVICE_DESCRIPTOR
: u32 = 2147491864u32;
288 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
289 pub const IOCTL_GET_HCD_DRIVERKEY_NAME
: u32 = 2229284u32;
290 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
291 pub const IOCTL_GET_PIPE_CONFIGURATION
: u32 = 2147491880u32;
292 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
293 pub const IOCTL_GET_USB_DESCRIPTOR
: u32 = 2147491872u32;
294 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
295 pub const IOCTL_GET_VERSION
: u32 = 2147491840u32;
296 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
297 pub const IOCTL_INDEX
: u32 = 2048u32;
298 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
299 pub const IOCTL_INTERNAL_USB_CYCLE_PORT
: u32 = 2228255u32;
300 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
301 pub const IOCTL_INTERNAL_USB_ENABLE_PORT
: u32 = 2228247u32;
302 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
303 pub const IOCTL_INTERNAL_USB_FAIL_GET_STATUS_FROM_DEVICE
: u32 = 2229347u32;
304 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
305 pub const IOCTL_INTERNAL_USB_GET_BUSGUID_INFO
: u32 = 2229288u32;
306 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
307 pub const IOCTL_INTERNAL_USB_GET_BUS_INFO
: u32 = 2229280u32;
308 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
309 pub const IOCTL_INTERNAL_USB_GET_CONTROLLER_NAME
: u32 = 2229284u32;
310 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
311 pub const IOCTL_INTERNAL_USB_GET_DEVICE_CONFIG_INFO
: u32 = 2229327u32;
312 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
313 pub const IOCTL_INTERNAL_USB_GET_DEVICE_HANDLE
: u32 = 2229299u32;
314 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
315 pub const IOCTL_INTERNAL_USB_GET_DEVICE_HANDLE_EX
: u32 = 2229303u32;
316 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
317 pub const IOCTL_INTERNAL_USB_GET_HUB_COUNT
: u32 = 2228251u32;
318 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
319 pub const IOCTL_INTERNAL_USB_GET_HUB_NAME
: u32 = 2228256u32;
320 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
321 pub const IOCTL_INTERNAL_USB_GET_PARENT_HUB_INFO
: u32 = 2229292u32;
322 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
323 pub const IOCTL_INTERNAL_USB_GET_PORT_STATUS
: u32 = 2228243u32;
324 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
325 pub const IOCTL_INTERNAL_USB_GET_ROOTHUB_PDO
: u32 = 2228239u32;
326 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
327 pub const IOCTL_INTERNAL_USB_GET_TOPOLOGY_ADDRESS
: u32 = 2229311u32;
328 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
329 pub const IOCTL_INTERNAL_USB_GET_TT_DEVICE_HANDLE
: u32 = 2229307u32;
330 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
331 pub const IOCTL_INTERNAL_USB_NOTIFY_IDLE_READY
: u32 = 2229315u32;
332 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
333 pub const IOCTL_INTERNAL_USB_RECORD_FAILURE
: u32 = 2228267u32;
334 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
335 pub const IOCTL_INTERNAL_USB_REGISTER_COMPOSITE_DEVICE
: u32 = 4784131u32;
336 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
337 pub const IOCTL_INTERNAL_USB_REQUEST_REMOTE_WAKE_NOTIFICATION
: u32 = 4784139u32;
338 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
339 pub const IOCTL_INTERNAL_USB_REQ_GLOBAL_RESUME
: u32 = 2229323u32;
340 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
341 pub const IOCTL_INTERNAL_USB_REQ_GLOBAL_SUSPEND
: u32 = 2229319u32;
342 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
343 pub const IOCTL_INTERNAL_USB_RESET_PORT
: u32 = 2228231u32;
344 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
345 pub const IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION
: u32 = 2228263u32;
346 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
347 pub const IOCTL_INTERNAL_USB_SUBMIT_URB
: u32 = 2228227u32;
348 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
349 pub const IOCTL_INTERNAL_USB_UNREGISTER_COMPOSITE_DEVICE
: u32 = 4784135u32;
350 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
351 pub const IOCTL_READ_REGISTERS
: u32 = 2147491852u32;
352 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
353 pub const IOCTL_RESET_PIPE
: u32 = 2147491868u32;
354 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
355 pub const IOCTL_SEND_USB_REQUEST
: u32 = 2147491876u32;
356 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
357 pub const IOCTL_SET_TIMEOUT
: u32 = 2147491884u32;
358 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
359 pub const IOCTL_USB_DIAGNOSTIC_MODE_OFF
: u32 = 2229252u32;
360 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
361 pub const IOCTL_USB_DIAGNOSTIC_MODE_ON
: u32 = 2229248u32;
362 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
363 pub const IOCTL_USB_DIAG_IGNORE_HUBS_OFF
: u32 = 2229276u32;
364 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
365 pub const IOCTL_USB_DIAG_IGNORE_HUBS_ON
: u32 = 2229272u32;
366 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
367 pub const IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION
: u32 = 2229264u32;
368 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
369 pub const IOCTL_USB_GET_DEVICE_CHARACTERISTICS
: u32 = 2229376u32;
370 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
371 pub const IOCTL_USB_GET_FRAME_NUMBER_AND_QPC_FOR_TIME_SYNC
: u32 = 2229368u32;
372 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
373 pub const IOCTL_USB_GET_HUB_CAPABILITIES
: u32 = 2229308u32;
374 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
375 pub const IOCTL_USB_GET_HUB_CAPABILITIES_EX
: u32 = 2229328u32;
376 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
377 pub const IOCTL_USB_GET_HUB_INFORMATION_EX
: u32 = 2229332u32;
378 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
379 pub const IOCTL_USB_GET_NODE_CONNECTION_ATTRIBUTES
: u32 = 2229312u32;
380 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
381 pub const IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME
: u32 = 2229280u32;
382 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
383 pub const IOCTL_USB_GET_NODE_CONNECTION_INFORMATION
: u32 = 2229260u32;
384 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
385 pub const IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX
: u32 = 2229320u32;
386 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
387 pub const IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_V2
: u32 = 2229340u32;
388 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
389 pub const IOCTL_USB_GET_NODE_CONNECTION_NAME
: u32 = 2229268u32;
390 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
391 pub const IOCTL_USB_GET_NODE_INFORMATION
: u32 = 2229256u32;
392 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
393 pub const IOCTL_USB_GET_PORT_CONNECTOR_PROPERTIES
: u32 = 2229336u32;
394 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
395 pub const IOCTL_USB_GET_ROOT_HUB_NAME
: u32 = 2229256u32;
396 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
397 pub const IOCTL_USB_GET_TRANSPORT_CHARACTERISTICS
: u32 = 2229348u32;
398 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
399 pub const IOCTL_USB_HCD_DISABLE_PORT
: u32 = 2229296u32;
400 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
401 pub const IOCTL_USB_HCD_ENABLE_PORT
: u32 = 2229300u32;
402 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
403 pub const IOCTL_USB_HCD_GET_STATS_1
: u32 = 2229244u32;
404 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
405 pub const IOCTL_USB_HCD_GET_STATS_2
: u32 = 2229288u32;
406 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
407 pub const IOCTL_USB_HUB_CYCLE_PORT
: u32 = 2229316u32;
408 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
409 pub const IOCTL_USB_NOTIFY_ON_TRANSPORT_CHARACTERISTICS_CHANGE
: u32 = 2229356u32;
410 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
411 pub const IOCTL_USB_REGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE
: u32 = 2229352u32;
412 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
413 pub const IOCTL_USB_RESET_HUB
: u32 = 2229324u32;
414 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
415 pub const IOCTL_USB_START_TRACKING_FOR_TIME_SYNC
: u32 = 2229364u32;
416 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
417 pub const IOCTL_USB_STOP_TRACKING_FOR_TIME_SYNC
: u32 = 2229372u32;
418 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
419 pub const IOCTL_USB_UNREGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE
: u32 = 2229360u32;
420 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
421 pub const IOCTL_WAIT_ON_DEVICE_EVENT
: u32 = 2147491848u32;
422 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
423 pub const IOCTL_WRITE_REGISTERS
: u32 = 2147491856u32;
425 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
426 pub struct IO_BLOCK
{
429 pub pbyData
: *mut u8,
432 impl ::core
::marker
::Copy
for IO_BLOCK {}
433 impl ::core
::clone
::Clone
for IO_BLOCK
{
434 fn clone(&self) -> Self {
439 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
440 pub struct IO_BLOCK_EX
{
443 pub pbyData
: *mut u8,
446 pub bmRequestType
: u8,
447 pub fTransferDirectionIn
: u8,
449 impl ::core
::marker
::Copy
for IO_BLOCK_EX {}
450 impl ::core
::clone
::Clone
for IO_BLOCK_EX
{
451 fn clone(&self) -> Self {
455 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
456 pub const KREGMANUSBFNENUMPATH
: &str = "\\Registry\\Machine\\SYSTEM\\CurrentControlSet\\Control\\ManufacturingMode\\Current\\USBFN\\";
457 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
458 pub const KREGUSBFNENUMPATH
: &str = "\\Registry\\Machine\\SYSTEM\\CurrentControlSet\\Control\\USBFN\\";
459 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
460 pub const LowSpeed
: u32 = 1u32;
461 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
462 pub const MAXIMUM_TRANSFER_SIZE
: u32 = 8u32;
463 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
464 pub const MAXIMUM_USB_STRING_LENGTH
: u32 = 255u32;
465 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
466 pub const MAX_ALTERNATE_NAME_LENGTH
: u32 = 40u32;
467 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
468 pub const MAX_ASSOCIATION_NAME_LENGTH
: u32 = 40u32;
469 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
470 pub const MAX_CONFIGURATION_NAME_LENGTH
: u32 = 40u32;
471 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
472 pub const MAX_INTERFACE_NAME_LENGTH
: u32 = 40u32;
473 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
474 pub const MAX_NUM_PIPES
: u32 = 8u32;
475 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
476 pub const MAX_NUM_USBFN_ENDPOINTS
: u32 = 15u32;
477 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
478 pub const MAX_SUPPORTED_CONFIGURATIONS
: u32 = 12u32;
479 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
480 pub const MAX_USB_STRING_LENGTH
: u32 = 255u32;
481 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
482 pub const MS_GENRE_DESCRIPTOR_INDEX
: u32 = 1u32;
483 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
484 pub const MS_OS_FLAGS_CONTAINERID
: u32 = 2u32;
485 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
486 pub const MS_OS_STRING_SIGNATURE
: &str = "MSFT100";
487 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
488 pub const MS_POWER_DESCRIPTOR_INDEX
: u32 = 2u32;
490 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
491 pub struct OS_STRING
{
493 pub bDescriptorType
: u8,
494 pub MicrosoftString
: [u16; 7],
496 pub Anonymous
: OS_STRING_0
,
498 impl ::core
::marker
::Copy
for OS_STRING {}
499 impl ::core
::clone
::Clone
for OS_STRING
{
500 fn clone(&self) -> Self {
505 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
506 pub union OS_STRING_0
{
510 impl ::core
::marker
::Copy
for OS_STRING_0 {}
511 impl ::core
::clone
::Clone
for OS_STRING_0
{
512 fn clone(&self) -> Self {
516 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
517 pub const OS_STRING_DESCRIPTOR_INDEX
: u32 = 238u32;
518 #[repr(C, packed(1))]
519 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
520 pub struct PACKET_PARAMETERS
{
521 pub DeviceAddress
: u8,
522 pub EndpointAddress
: u8,
523 pub MaximumPacketSize
: u16,
527 pub HubDeviceAddress
: u16,
528 pub PortTTNumber
: u16,
531 pub UsbdStatusCode
: i32,
534 impl ::core
::marker
::Copy
for PACKET_PARAMETERS {}
535 impl ::core
::clone
::Clone
for PACKET_PARAMETERS
{
536 fn clone(&self) -> Self {
540 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
541 pub const PIPE_TRANSFER_TIMEOUT
: u32 = 3u32;
542 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
543 pub type PIPE_TYPE
= i32;
544 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
545 pub const EVENT_PIPE
: PIPE_TYPE
= 0i32;
546 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
547 pub const READ_DATA_PIPE
: PIPE_TYPE
= 1i32;
548 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
549 pub const WRITE_DATA_PIPE
: PIPE_TYPE
= 2i32;
550 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
551 pub const ALL_PIPE
: PIPE_TYPE
= 3i32;
552 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
553 pub const PORT_LINK_STATE_COMPLIANCE_MODE
: u32 = 10u32;
554 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
555 pub const PORT_LINK_STATE_DISABLED
: u32 = 4u32;
556 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
557 pub const PORT_LINK_STATE_HOT_RESET
: u32 = 9u32;
558 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
559 pub const PORT_LINK_STATE_INACTIVE
: u32 = 6u32;
560 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
561 pub const PORT_LINK_STATE_LOOPBACK
: u32 = 11u32;
562 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
563 pub const PORT_LINK_STATE_POLLING
: u32 = 7u32;
564 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
565 pub const PORT_LINK_STATE_RECOVERY
: u32 = 8u32;
566 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
567 pub const PORT_LINK_STATE_RX_DETECT
: u32 = 5u32;
568 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
569 pub const PORT_LINK_STATE_TEST_MODE
: u32 = 11u32;
570 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
571 pub const PORT_LINK_STATE_U0
: u32 = 0u32;
572 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
573 pub const PORT_LINK_STATE_U1
: u32 = 1u32;
574 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
575 pub const PORT_LINK_STATE_U2
: u32 = 2u32;
576 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
577 pub const PORT_LINK_STATE_U3
: u32 = 3u32;
578 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
579 pub const RAW_IO
: u32 = 7u32;
580 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
581 pub type RAW_PIPE_TYPE
= i32;
582 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
583 pub const USBSCAN_PIPE_CONTROL
: RAW_PIPE_TYPE
= 0i32;
584 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
585 pub const USBSCAN_PIPE_ISOCHRONOUS
: RAW_PIPE_TYPE
= 1i32;
586 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
587 pub const USBSCAN_PIPE_BULK
: RAW_PIPE_TYPE
= 2i32;
588 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
589 pub const USBSCAN_PIPE_INTERRUPT
: RAW_PIPE_TYPE
= 3i32;
590 #[repr(C, packed(1))]
591 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
592 pub struct RAW_RESET_PORT_PARAMETERS
{
596 impl ::core
::marker
::Copy
for RAW_RESET_PORT_PARAMETERS {}
597 impl ::core
::clone
::Clone
for RAW_RESET_PORT_PARAMETERS
{
598 fn clone(&self) -> Self {
602 #[repr(C, packed(1))]
603 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
604 pub struct RAW_ROOTPORT_FEATURE
{
606 pub PortFeature
: u16,
609 impl ::core
::marker
::Copy
for RAW_ROOTPORT_FEATURE {}
610 impl ::core
::clone
::Clone
for RAW_ROOTPORT_FEATURE
{
611 fn clone(&self) -> Self {
615 #[repr(C, packed(1))]
616 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
617 pub struct RAW_ROOTPORT_PARAMETERS
{
621 impl ::core
::marker
::Copy
for RAW_ROOTPORT_PARAMETERS {}
622 impl ::core
::clone
::Clone
for RAW_ROOTPORT_PARAMETERS
{
623 fn clone(&self) -> Self {
627 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
628 pub const RESET_PIPE_ON_RESUME
: u32 = 9u32;
629 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
630 pub const SHORT_PACKET_TERMINATE
: u32 = 1u32;
631 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
632 pub const SUSPEND_DELAY
: u32 = 131u32;
634 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
636 pub Anonymous
: URB_0
,
638 impl ::core
::marker
::Copy
for URB {}
639 impl ::core
::clone
::Clone
for URB
{
640 fn clone(&self) -> Self {
645 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
647 pub UrbHeader
: _URB_HEADER
,
648 pub UrbSelectInterface
: _URB_SELECT_INTERFACE
,
649 pub UrbSelectConfiguration
: _URB_SELECT_CONFIGURATION
,
650 pub UrbPipeRequest
: _URB_PIPE_REQUEST
,
651 pub UrbFrameLengthControl
: _URB_FRAME_LENGTH_CONTROL
,
652 pub UrbGetFrameLength
: _URB_GET_FRAME_LENGTH
,
653 pub UrbSetFrameLength
: _URB_SET_FRAME_LENGTH
,
654 pub UrbGetCurrentFrameNumber
: _URB_GET_CURRENT_FRAME_NUMBER
,
655 pub UrbControlTransfer
: _URB_CONTROL_TRANSFER
,
656 pub UrbControlTransferEx
: _URB_CONTROL_TRANSFER_EX
,
657 pub UrbBulkOrInterruptTransfer
: _URB_BULK_OR_INTERRUPT_TRANSFER
,
658 pub UrbIsochronousTransfer
: _URB_ISOCH_TRANSFER
,
659 pub UrbControlDescriptorRequest
: _URB_CONTROL_DESCRIPTOR_REQUEST
,
660 pub UrbControlGetStatusRequest
: _URB_CONTROL_GET_STATUS_REQUEST
,
661 pub UrbControlFeatureRequest
: _URB_CONTROL_FEATURE_REQUEST
,
662 pub UrbControlVendorClassRequest
: _URB_CONTROL_VENDOR_OR_CLASS_REQUEST
,
663 pub UrbControlGetInterfaceRequest
: _URB_CONTROL_GET_INTERFACE_REQUEST
,
664 pub UrbControlGetConfigurationRequest
: _URB_CONTROL_GET_CONFIGURATION_REQUEST
,
665 pub UrbOSFeatureDescriptorRequest
: _URB_OS_FEATURE_DESCRIPTOR_REQUEST
,
666 pub UrbOpenStaticStreams
: _URB_OPEN_STATIC_STREAMS
,
667 pub UrbGetIsochPipeTransferPathDelays
: _URB_GET_ISOCH_PIPE_TRANSFER_PATH_DELAYS
,
669 impl ::core
::marker
::Copy
for URB_0 {}
670 impl ::core
::clone
::Clone
for URB_0
{
671 fn clone(&self) -> Self {
675 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
676 pub const URB_FUNCTION_ABORT_PIPE
: u32 = 2u32;
677 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
678 pub const URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER
: u32 = 9u32;
679 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
680 pub const URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER_USING_CHAINED_MDL
: u32 = 55u32;
681 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
682 pub const URB_FUNCTION_CLASS_DEVICE
: u32 = 26u32;
683 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
684 pub const URB_FUNCTION_CLASS_ENDPOINT
: u32 = 28u32;
685 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
686 pub const URB_FUNCTION_CLASS_INTERFACE
: u32 = 27u32;
687 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
688 pub const URB_FUNCTION_CLASS_OTHER
: u32 = 31u32;
689 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
690 pub const URB_FUNCTION_CLEAR_FEATURE_TO_DEVICE
: u32 = 16u32;
691 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
692 pub const URB_FUNCTION_CLEAR_FEATURE_TO_ENDPOINT
: u32 = 18u32;
693 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
694 pub const URB_FUNCTION_CLEAR_FEATURE_TO_INTERFACE
: u32 = 17u32;
695 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
696 pub const URB_FUNCTION_CLEAR_FEATURE_TO_OTHER
: u32 = 34u32;
697 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
698 pub const URB_FUNCTION_CLOSE_STATIC_STREAMS
: u32 = 54u32;
699 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
700 pub const URB_FUNCTION_CONTROL_TRANSFER
: u32 = 8u32;
701 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
702 pub const URB_FUNCTION_CONTROL_TRANSFER_EX
: u32 = 50u32;
703 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
704 pub const URB_FUNCTION_GET_CONFIGURATION
: u32 = 38u32;
705 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
706 pub const URB_FUNCTION_GET_CURRENT_FRAME_NUMBER
: u32 = 7u32;
707 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
708 pub const URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE
: u32 = 11u32;
709 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
710 pub const URB_FUNCTION_GET_DESCRIPTOR_FROM_ENDPOINT
: u32 = 36u32;
711 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
712 pub const URB_FUNCTION_GET_DESCRIPTOR_FROM_INTERFACE
: u32 = 40u32;
713 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
714 pub const URB_FUNCTION_GET_FRAME_LENGTH
: u32 = 5u32;
715 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
716 pub const URB_FUNCTION_GET_INTERFACE
: u32 = 39u32;
717 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
718 pub const URB_FUNCTION_GET_ISOCH_PIPE_TRANSFER_PATH_DELAYS
: u32 = 61u32;
719 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
720 pub const URB_FUNCTION_GET_MS_FEATURE_DESCRIPTOR
: u32 = 42u32;
721 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
722 pub const URB_FUNCTION_GET_STATUS_FROM_DEVICE
: u32 = 19u32;
723 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
724 pub const URB_FUNCTION_GET_STATUS_FROM_ENDPOINT
: u32 = 21u32;
725 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
726 pub const URB_FUNCTION_GET_STATUS_FROM_INTERFACE
: u32 = 20u32;
727 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
728 pub const URB_FUNCTION_GET_STATUS_FROM_OTHER
: u32 = 33u32;
729 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
730 pub const URB_FUNCTION_ISOCH_TRANSFER
: u32 = 10u32;
731 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
732 pub const URB_FUNCTION_ISOCH_TRANSFER_USING_CHAINED_MDL
: u32 = 56u32;
733 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
734 pub const URB_FUNCTION_OPEN_STATIC_STREAMS
: u32 = 53u32;
735 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
736 pub const URB_FUNCTION_RELEASE_FRAME_LENGTH_CONTROL
: u32 = 4u32;
737 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
738 pub const URB_FUNCTION_RESERVED_0X0016
: u32 = 22u32;
739 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
740 pub const URB_FUNCTION_RESERVE_0X001D
: u32 = 29u32;
741 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
742 pub const URB_FUNCTION_RESERVE_0X002B
: u32 = 43u32;
743 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
744 pub const URB_FUNCTION_RESERVE_0X002C
: u32 = 44u32;
745 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
746 pub const URB_FUNCTION_RESERVE_0X002D
: u32 = 45u32;
747 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
748 pub const URB_FUNCTION_RESERVE_0X002E
: u32 = 46u32;
749 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
750 pub const URB_FUNCTION_RESERVE_0X002F
: u32 = 47u32;
751 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
752 pub const URB_FUNCTION_RESERVE_0X0033
: u32 = 51u32;
753 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
754 pub const URB_FUNCTION_RESERVE_0X0034
: u32 = 52u32;
755 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
756 pub const URB_FUNCTION_RESET_PIPE
: u32 = 30u32;
757 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
758 pub const URB_FUNCTION_SELECT_CONFIGURATION
: u32 = 0u32;
759 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
760 pub const URB_FUNCTION_SELECT_INTERFACE
: u32 = 1u32;
761 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
762 pub const URB_FUNCTION_SET_DESCRIPTOR_TO_DEVICE
: u32 = 12u32;
763 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
764 pub const URB_FUNCTION_SET_DESCRIPTOR_TO_ENDPOINT
: u32 = 37u32;
765 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
766 pub const URB_FUNCTION_SET_DESCRIPTOR_TO_INTERFACE
: u32 = 41u32;
767 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
768 pub const URB_FUNCTION_SET_FEATURE_TO_DEVICE
: u32 = 13u32;
769 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
770 pub const URB_FUNCTION_SET_FEATURE_TO_ENDPOINT
: u32 = 15u32;
771 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
772 pub const URB_FUNCTION_SET_FEATURE_TO_INTERFACE
: u32 = 14u32;
773 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
774 pub const URB_FUNCTION_SET_FEATURE_TO_OTHER
: u32 = 35u32;
775 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
776 pub const URB_FUNCTION_SET_FRAME_LENGTH
: u32 = 6u32;
777 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
778 pub const URB_FUNCTION_SYNC_CLEAR_STALL
: u32 = 49u32;
779 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
780 pub const URB_FUNCTION_SYNC_RESET_PIPE
: u32 = 48u32;
781 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
782 pub const URB_FUNCTION_SYNC_RESET_PIPE_AND_CLEAR_STALL
: u32 = 30u32;
783 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
784 pub const URB_FUNCTION_TAKE_FRAME_LENGTH_CONTROL
: u32 = 3u32;
785 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
786 pub const URB_FUNCTION_VENDOR_DEVICE
: u32 = 23u32;
787 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
788 pub const URB_FUNCTION_VENDOR_ENDPOINT
: u32 = 25u32;
789 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
790 pub const URB_FUNCTION_VENDOR_INTERFACE
: u32 = 24u32;
791 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
792 pub const URB_FUNCTION_VENDOR_OTHER
: u32 = 32u32;
793 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
794 pub const URB_OPEN_STATIC_STREAMS_VERSION_100
: u32 = 256u32;
795 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
796 pub const UREGMANUSBFNENUMPATH
: &str = "HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\ManufacturingMode\\Current\\USBFN\\";
797 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
798 pub const UREGUSBFNENUMPATH
: &str = "HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\USBFN\\";
799 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
800 pub const USBDI_VERSION
: u32 = 1536u32;
801 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
802 pub const USBD_DEFAULT_MAXIMUM_TRANSFER_SIZE
: u32 = 4294967295u32;
803 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
804 pub const USBD_DEFAULT_PIPE_TRANSFER
: u32 = 8u32;
806 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
807 pub struct USBD_DEVICE_INFORMATION
{
809 pub UsbdDeviceHandle
: *mut ::core
::ffi
::c_void
,
810 pub DeviceDescriptor
: USB_DEVICE_DESCRIPTOR
,
812 impl ::core
::marker
::Copy
for USBD_DEVICE_INFORMATION {}
813 impl ::core
::clone
::Clone
for USBD_DEVICE_INFORMATION
{
814 fn clone(&self) -> Self {
818 #[repr(C, packed(1))]
819 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
820 pub struct USBD_ENDPOINT_OFFLOAD_INFORMATION
{
822 pub EndpointAddress
: u16,
824 pub Mode
: USBD_ENDPOINT_OFFLOAD_MODE
,
827 pub TransferSegmentLA
: i64,
828 pub TransferSegmentVA
: *mut ::core
::ffi
::c_void
,
829 pub TransferRingSize
: usize,
830 pub TransferRingInitialCycleBit
: u32,
831 pub MessageNumber
: u32,
832 pub EventRingSegmentLA
: i64,
833 pub EventRingSegmentVA
: *mut ::core
::ffi
::c_void
,
834 pub EventRingSize
: usize,
835 pub EventRingInitialCycleBit
: u32,
837 impl ::core
::marker
::Copy
for USBD_ENDPOINT_OFFLOAD_INFORMATION {}
838 impl ::core
::clone
::Clone
for USBD_ENDPOINT_OFFLOAD_INFORMATION
{
839 fn clone(&self) -> Self {
843 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
844 pub type USBD_ENDPOINT_OFFLOAD_MODE
= i32;
845 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
846 pub const UsbdEndpointOffloadModeNotSupported
: USBD_ENDPOINT_OFFLOAD_MODE
= 0i32;
847 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
848 pub const UsbdEndpointOffloadSoftwareAssisted
: USBD_ENDPOINT_OFFLOAD_MODE
= 1i32;
849 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
850 pub const UsbdEndpointOffloadHardwareAssisted
: USBD_ENDPOINT_OFFLOAD_MODE
= 2i32;
852 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
853 pub struct USBD_INTERFACE_INFORMATION
{
855 pub InterfaceNumber
: u8,
856 pub AlternateSetting
: u8,
861 pub InterfaceHandle
: *mut ::core
::ffi
::c_void
,
862 pub NumberOfPipes
: u32,
863 pub Pipes
: [USBD_PIPE_INFORMATION
; 1],
865 impl ::core
::marker
::Copy
for USBD_INTERFACE_INFORMATION {}
866 impl ::core
::clone
::Clone
for USBD_INTERFACE_INFORMATION
{
867 fn clone(&self) -> Self {
872 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
873 pub struct USBD_ISO_PACKET_DESCRIPTOR
{
878 impl ::core
::marker
::Copy
for USBD_ISO_PACKET_DESCRIPTOR {}
879 impl ::core
::clone
::Clone
for USBD_ISO_PACKET_DESCRIPTOR
{
880 fn clone(&self) -> Self {
884 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
885 pub const USBD_ISO_START_FRAME_RANGE
: u32 = 1024u32;
886 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
887 pub const USBD_PF_CHANGE_MAX_PACKET
: u32 = 1u32;
888 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
889 pub const USBD_PF_ENABLE_RT_THREAD_ACCESS
: u32 = 4u32;
890 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
891 pub const USBD_PF_HANDLES_SSP_HIGH_BANDWIDTH_ISOCH
: u32 = 256u32;
892 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
893 pub const USBD_PF_INTERACTIVE_PRIORITY
: u32 = 48u32;
894 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
895 pub const USBD_PF_MAP_ADD_TRANSFERS
: u32 = 8u32;
896 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
897 pub const USBD_PF_PRIORITY_MASK
: u32 = 240u32;
898 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
899 pub const USBD_PF_SHORT_PACKET_OPT
: u32 = 2u32;
900 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
901 pub const USBD_PF_SSP_HIGH_BANDWIDTH_ISOCH
: u32 = 65536u32;
902 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
903 pub const USBD_PF_VIDEO_PRIORITY
: u32 = 16u32;
904 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
905 pub const USBD_PF_VOICE_PRIORITY
: u32 = 32u32;
907 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
908 pub struct USBD_PIPE_INFORMATION
{
909 pub MaximumPacketSize
: u16,
910 pub EndpointAddress
: u8,
912 pub PipeType
: USBD_PIPE_TYPE
,
913 pub PipeHandle
: *mut ::core
::ffi
::c_void
,
914 pub MaximumTransferSize
: u32,
917 impl ::core
::marker
::Copy
for USBD_PIPE_INFORMATION {}
918 impl ::core
::clone
::Clone
for USBD_PIPE_INFORMATION
{
919 fn clone(&self) -> Self {
923 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
924 pub type USBD_PIPE_TYPE
= i32;
925 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
926 pub const UsbdPipeTypeControl
: USBD_PIPE_TYPE
= 0i32;
927 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
928 pub const UsbdPipeTypeIsochronous
: USBD_PIPE_TYPE
= 1i32;
929 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
930 pub const UsbdPipeTypeBulk
: USBD_PIPE_TYPE
= 2i32;
931 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
932 pub const UsbdPipeTypeInterrupt
: USBD_PIPE_TYPE
= 3i32;
933 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
934 pub const USBD_PORT_CONNECTED
: u32 = 2u32;
935 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
936 pub const USBD_PORT_ENABLED
: u32 = 1u32;
937 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
938 pub const USBD_SHORT_TRANSFER_OK
: u32 = 2u32;
939 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
940 pub const USBD_START_ISO_TRANSFER_ASAP
: u32 = 4u32;
942 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
943 pub struct USBD_STREAM_INFORMATION
{
944 pub PipeHandle
: *mut ::core
::ffi
::c_void
,
946 pub MaximumTransferSize
: u32,
949 impl ::core
::marker
::Copy
for USBD_STREAM_INFORMATION {}
950 impl ::core
::clone
::Clone
for USBD_STREAM_INFORMATION
{
951 fn clone(&self) -> Self {
955 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
956 pub const USBD_TRANSFER_DIRECTION
: u32 = 1u32;
957 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
958 pub const USBD_TRANSFER_DIRECTION_IN
: u32 = 1u32;
959 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
960 pub const USBD_TRANSFER_DIRECTION_OUT
: u32 = 0u32;
962 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
963 pub struct USBD_VERSION_INFORMATION
{
964 pub USBDI_Version
: u32,
965 pub Supported_USB_Version
: u32,
967 impl ::core
::marker
::Copy
for USBD_VERSION_INFORMATION {}
968 impl ::core
::clone
::Clone
for USBD_VERSION_INFORMATION
{
969 fn clone(&self) -> Self {
974 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
975 #[cfg(feature = "Win32_Foundation")]
976 pub struct USBFN_BUS_CONFIGURATION_INFO
{
977 pub ConfigurationName
: [u16; 40],
978 pub IsCurrent
: super::super::Foundation
::BOOLEAN
,
979 pub IsActive
: super::super::Foundation
::BOOLEAN
,
981 #[cfg(feature = "Win32_Foundation")]
982 impl ::core
::marker
::Copy
for USBFN_BUS_CONFIGURATION_INFO {}
983 #[cfg(feature = "Win32_Foundation")]
984 impl ::core
::clone
::Clone
for USBFN_BUS_CONFIGURATION_INFO
{
985 fn clone(&self) -> Self {
989 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
990 pub type USBFN_BUS_SPEED
= i32;
991 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
992 pub const UsbfnBusSpeedLow
: USBFN_BUS_SPEED
= 0i32;
993 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
994 pub const UsbfnBusSpeedFull
: USBFN_BUS_SPEED
= 1i32;
995 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
996 pub const UsbfnBusSpeedHigh
: USBFN_BUS_SPEED
= 2i32;
997 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
998 pub const UsbfnBusSpeedSuper
: USBFN_BUS_SPEED
= 3i32;
999 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1000 pub const UsbfnBusSpeedMaximum
: USBFN_BUS_SPEED
= 4i32;
1002 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
1003 #[cfg(feature = "Win32_Foundation")]
1004 pub struct USBFN_CLASS_INFORMATION_PACKET
{
1005 pub FullSpeedClassInterface
: USBFN_CLASS_INTERFACE
,
1006 pub HighSpeedClassInterface
: USBFN_CLASS_INTERFACE
,
1007 pub InterfaceName
: [u16; 40],
1008 pub InterfaceGuid
: [u16; 39],
1009 pub HasInterfaceGuid
: super::super::Foundation
::BOOLEAN
,
1010 pub SuperSpeedClassInterface
: USBFN_CLASS_INTERFACE
,
1012 #[cfg(feature = "Win32_Foundation")]
1013 impl ::core
::marker
::Copy
for USBFN_CLASS_INFORMATION_PACKET {}
1014 #[cfg(feature = "Win32_Foundation")]
1015 impl ::core
::clone
::Clone
for USBFN_CLASS_INFORMATION_PACKET
{
1016 fn clone(&self) -> Self {
1021 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
1022 #[cfg(feature = "Win32_Foundation")]
1023 pub struct USBFN_CLASS_INFORMATION_PACKET_EX
{
1024 pub FullSpeedClassInterfaceEx
: USBFN_CLASS_INTERFACE_EX
,
1025 pub HighSpeedClassInterfaceEx
: USBFN_CLASS_INTERFACE_EX
,
1026 pub SuperSpeedClassInterfaceEx
: USBFN_CLASS_INTERFACE_EX
,
1027 pub InterfaceName
: [u16; 40],
1028 pub InterfaceGuid
: [u16; 39],
1029 pub HasInterfaceGuid
: super::super::Foundation
::BOOLEAN
,
1031 #[cfg(feature = "Win32_Foundation")]
1032 impl ::core
::marker
::Copy
for USBFN_CLASS_INFORMATION_PACKET_EX {}
1033 #[cfg(feature = "Win32_Foundation")]
1034 impl ::core
::clone
::Clone
for USBFN_CLASS_INFORMATION_PACKET_EX
{
1035 fn clone(&self) -> Self {
1040 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1041 pub struct USBFN_CLASS_INTERFACE
{
1042 pub InterfaceNumber
: u8,
1044 pub PipeArr
: [USBFN_PIPE_INFORMATION
; 16],
1046 impl ::core
::marker
::Copy
for USBFN_CLASS_INTERFACE {}
1047 impl ::core
::clone
::Clone
for USBFN_CLASS_INTERFACE
{
1048 fn clone(&self) -> Self {
1053 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1054 pub struct USBFN_CLASS_INTERFACE_EX
{
1055 pub BaseInterfaceNumber
: u8,
1056 pub InterfaceCount
: u8,
1058 pub PipeArr
: [USBFN_PIPE_INFORMATION
; 16],
1060 impl ::core
::marker
::Copy
for USBFN_CLASS_INTERFACE_EX {}
1061 impl ::core
::clone
::Clone
for USBFN_CLASS_INTERFACE_EX
{
1062 fn clone(&self) -> Self {
1066 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1067 pub type USBFN_DEVICE_STATE
= i32;
1068 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1069 pub const UsbfnDeviceStateMinimum
: USBFN_DEVICE_STATE
= 0i32;
1070 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1071 pub const UsbfnDeviceStateAttached
: USBFN_DEVICE_STATE
= 1i32;
1072 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1073 pub const UsbfnDeviceStateDefault
: USBFN_DEVICE_STATE
= 2i32;
1074 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1075 pub const UsbfnDeviceStateDetached
: USBFN_DEVICE_STATE
= 3i32;
1076 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1077 pub const UsbfnDeviceStateAddressed
: USBFN_DEVICE_STATE
= 4i32;
1078 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1079 pub const UsbfnDeviceStateConfigured
: USBFN_DEVICE_STATE
= 5i32;
1080 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1081 pub const UsbfnDeviceStateSuspended
: USBFN_DEVICE_STATE
= 6i32;
1082 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1083 pub const UsbfnDeviceStateStateMaximum
: USBFN_DEVICE_STATE
= 7i32;
1084 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1085 pub type USBFN_DIRECTION
= i32;
1086 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1087 pub const UsbfnDirectionMinimum
: USBFN_DIRECTION
= 0i32;
1088 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1089 pub const UsbfnDirectionIn
: USBFN_DIRECTION
= 1i32;
1090 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1091 pub const UsbfnDirectionOut
: USBFN_DIRECTION
= 2i32;
1092 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1093 pub const UsbfnDirectionTx
: USBFN_DIRECTION
= 1i32;
1094 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1095 pub const UsbfnDirectionRx
: USBFN_DIRECTION
= 2i32;
1096 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1097 pub const UsbfnDirectionMaximum
: USBFN_DIRECTION
= 3i32;
1098 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1099 pub type USBFN_EVENT
= i32;
1100 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1101 pub const UsbfnEventMinimum
: USBFN_EVENT
= 0i32;
1102 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1103 pub const UsbfnEventAttach
: USBFN_EVENT
= 1i32;
1104 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1105 pub const UsbfnEventReset
: USBFN_EVENT
= 2i32;
1106 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1107 pub const UsbfnEventDetach
: USBFN_EVENT
= 3i32;
1108 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1109 pub const UsbfnEventSuspend
: USBFN_EVENT
= 4i32;
1110 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1111 pub const UsbfnEventResume
: USBFN_EVENT
= 5i32;
1112 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1113 pub const UsbfnEventSetupPacket
: USBFN_EVENT
= 6i32;
1114 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1115 pub const UsbfnEventConfigured
: USBFN_EVENT
= 7i32;
1116 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1117 pub const UsbfnEventUnConfigured
: USBFN_EVENT
= 8i32;
1118 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1119 pub const UsbfnEventPortType
: USBFN_EVENT
= 9i32;
1120 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1121 pub const UsbfnEventBusTearDown
: USBFN_EVENT
= 10i32;
1122 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1123 pub const UsbfnEventSetInterface
: USBFN_EVENT
= 11i32;
1124 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1125 pub const UsbfnEventMaximum
: USBFN_EVENT
= 12i32;
1127 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1128 pub struct USBFN_INTERFACE_INFO
{
1129 pub InterfaceNumber
: u8,
1130 pub Speed
: USBFN_BUS_SPEED
,
1132 pub InterfaceDescriptorSet
: [u8; 1],
1134 impl ::core
::marker
::Copy
for USBFN_INTERFACE_INFO {}
1135 impl ::core
::clone
::Clone
for USBFN_INTERFACE_INFO
{
1136 fn clone(&self) -> Self {
1140 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1141 pub const USBFN_INTERRUPT_ENDPOINT_SIZE_NOT_UPDATEABLE_MASK
: u32 = 128u32;
1143 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1144 pub struct USBFN_NOTIFICATION
{
1145 pub Event
: USBFN_EVENT
,
1146 pub u
: USBFN_NOTIFICATION_0
,
1148 impl ::core
::marker
::Copy
for USBFN_NOTIFICATION {}
1149 impl ::core
::clone
::Clone
for USBFN_NOTIFICATION
{
1150 fn clone(&self) -> Self {
1155 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1156 pub union USBFN_NOTIFICATION_0
{
1157 pub BusSpeed
: USBFN_BUS_SPEED
,
1158 pub SetupPacket
: USB_DEFAULT_PIPE_SETUP_PACKET
,
1159 pub ConfigurationValue
: u16,
1160 pub PortType
: USBFN_PORT_TYPE
,
1161 pub AlternateInterface
: ALTERNATE_INTERFACE
,
1163 impl ::core
::marker
::Copy
for USBFN_NOTIFICATION_0 {}
1164 impl ::core
::clone
::Clone
for USBFN_NOTIFICATION_0
{
1165 fn clone(&self) -> Self {
1170 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1171 pub struct USBFN_PIPE_INFORMATION
{
1172 pub EpDesc
: USB_ENDPOINT_DESCRIPTOR
,
1175 impl ::core
::marker
::Copy
for USBFN_PIPE_INFORMATION {}
1176 impl ::core
::clone
::Clone
for USBFN_PIPE_INFORMATION
{
1177 fn clone(&self) -> Self {
1181 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1182 pub type USBFN_PORT_TYPE
= i32;
1183 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1184 pub const UsbfnUnknownPort
: USBFN_PORT_TYPE
= 0i32;
1185 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1186 pub const UsbfnStandardDownstreamPort
: USBFN_PORT_TYPE
= 1i32;
1187 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1188 pub const UsbfnChargingDownstreamPort
: USBFN_PORT_TYPE
= 2i32;
1189 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1190 pub const UsbfnDedicatedChargingPort
: USBFN_PORT_TYPE
= 3i32;
1191 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1192 pub const UsbfnInvalidDedicatedChargingPort
: USBFN_PORT_TYPE
= 4i32;
1193 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1194 pub const UsbfnProprietaryDedicatedChargingPort
: USBFN_PORT_TYPE
= 5i32;
1195 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1196 pub const UsbfnPortTypeMaximum
: USBFN_PORT_TYPE
= 6i32;
1198 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1199 pub struct USBFN_USB_STRING
{
1200 pub StringIndex
: u8,
1201 pub UsbString
: [u16; 255],
1203 impl ::core
::marker
::Copy
for USBFN_USB_STRING {}
1204 impl ::core
::clone
::Clone
for USBFN_USB_STRING
{
1205 fn clone(&self) -> Self {
1210 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1211 pub struct USBSCAN_GET_DESCRIPTOR
{
1212 pub DescriptorType
: u8,
1214 pub LanguageId
: u16,
1216 impl ::core
::marker
::Copy
for USBSCAN_GET_DESCRIPTOR {}
1217 impl ::core
::clone
::Clone
for USBSCAN_GET_DESCRIPTOR
{
1218 fn clone(&self) -> Self {
1223 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1224 pub struct USBSCAN_PIPE_CONFIGURATION
{
1225 pub NumberOfPipes
: u32,
1226 pub PipeInfo
: [USBSCAN_PIPE_INFORMATION
; 8],
1228 impl ::core
::marker
::Copy
for USBSCAN_PIPE_CONFIGURATION {}
1229 impl ::core
::clone
::Clone
for USBSCAN_PIPE_CONFIGURATION
{
1230 fn clone(&self) -> Self {
1235 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1236 pub struct USBSCAN_PIPE_INFORMATION
{
1237 pub MaximumPacketSize
: u16,
1238 pub EndpointAddress
: u8,
1240 pub PipeType
: RAW_PIPE_TYPE
,
1242 impl ::core
::marker
::Copy
for USBSCAN_PIPE_INFORMATION {}
1243 impl ::core
::clone
::Clone
for USBSCAN_PIPE_INFORMATION
{
1244 fn clone(&self) -> Self {
1249 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1250 pub struct USBSCAN_TIMEOUT
{
1251 pub TimeoutRead
: u32,
1252 pub TimeoutWrite
: u32,
1253 pub TimeoutEvent
: u32,
1255 impl ::core
::marker
::Copy
for USBSCAN_TIMEOUT {}
1256 impl ::core
::clone
::Clone
for USBSCAN_TIMEOUT
{
1257 fn clone(&self) -> Self {
1262 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1263 pub struct USBUSER_BANDWIDTH_INFO_REQUEST
{
1264 pub Header
: USBUSER_REQUEST_HEADER
,
1265 pub BandwidthInformation
: USB_BANDWIDTH_INFO
,
1267 impl ::core
::marker
::Copy
for USBUSER_BANDWIDTH_INFO_REQUEST {}
1268 impl ::core
::clone
::Clone
for USBUSER_BANDWIDTH_INFO_REQUEST
{
1269 fn clone(&self) -> Self {
1274 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
1275 #[cfg(feature = "Win32_Foundation")]
1276 pub struct USBUSER_BUS_STATISTICS_0_REQUEST
{
1277 pub Header
: USBUSER_REQUEST_HEADER
,
1278 pub BusStatistics0
: USB_BUS_STATISTICS_0
,
1280 #[cfg(feature = "Win32_Foundation")]
1281 impl ::core
::marker
::Copy
for USBUSER_BUS_STATISTICS_0_REQUEST {}
1282 #[cfg(feature = "Win32_Foundation")]
1283 impl ::core
::clone
::Clone
for USBUSER_BUS_STATISTICS_0_REQUEST
{
1284 fn clone(&self) -> Self {
1288 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1289 pub const USBUSER_CLEAR_ROOTPORT_FEATURE
: u32 = 536870918u32;
1291 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1292 pub struct USBUSER_CLOSE_RAW_DEVICE
{
1293 pub Header
: USBUSER_REQUEST_HEADER
,
1294 pub Parameters
: USB_CLOSE_RAW_DEVICE_PARAMETERS
,
1296 impl ::core
::marker
::Copy
for USBUSER_CLOSE_RAW_DEVICE {}
1297 impl ::core
::clone
::Clone
for USBUSER_CLOSE_RAW_DEVICE
{
1298 fn clone(&self) -> Self {
1303 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1304 pub struct USBUSER_CONTROLLER_INFO_0
{
1305 pub Header
: USBUSER_REQUEST_HEADER
,
1306 pub Info0
: USB_CONTROLLER_INFO_0
,
1308 impl ::core
::marker
::Copy
for USBUSER_CONTROLLER_INFO_0 {}
1309 impl ::core
::clone
::Clone
for USBUSER_CONTROLLER_INFO_0
{
1310 fn clone(&self) -> Self {
1315 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1316 pub struct USBUSER_CONTROLLER_UNICODE_NAME
{
1317 pub Header
: USBUSER_REQUEST_HEADER
,
1318 pub UnicodeName
: USB_UNICODE_NAME
,
1320 impl ::core
::marker
::Copy
for USBUSER_CONTROLLER_UNICODE_NAME {}
1321 impl ::core
::clone
::Clone
for USBUSER_CONTROLLER_UNICODE_NAME
{
1322 fn clone(&self) -> Self {
1326 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1327 pub const USBUSER_GET_BANDWIDTH_INFORMATION
: u32 = 5u32;
1328 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1329 pub const USBUSER_GET_BUS_STATISTICS_0
: u32 = 6u32;
1330 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1331 pub const USBUSER_GET_CONTROLLER_DRIVER_KEY
: u32 = 2u32;
1332 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1333 pub const USBUSER_GET_CONTROLLER_INFO_0
: u32 = 1u32;
1335 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
1336 #[cfg(feature = "Win32_Foundation")]
1337 pub struct USBUSER_GET_DRIVER_VERSION
{
1338 pub Header
: USBUSER_REQUEST_HEADER
,
1339 pub Parameters
: USB_DRIVER_VERSION_PARAMETERS
,
1341 #[cfg(feature = "Win32_Foundation")]
1342 impl ::core
::marker
::Copy
for USBUSER_GET_DRIVER_VERSION {}
1343 #[cfg(feature = "Win32_Foundation")]
1344 impl ::core
::clone
::Clone
for USBUSER_GET_DRIVER_VERSION
{
1345 fn clone(&self) -> Self {
1349 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1350 pub const USBUSER_GET_POWER_STATE_MAP
: u32 = 4u32;
1351 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1352 pub const USBUSER_GET_ROOTHUB_SYMBOLIC_NAME
: u32 = 7u32;
1353 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1354 pub const USBUSER_GET_ROOTPORT_STATUS
: u32 = 536870919u32;
1356 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1357 pub struct USBUSER_GET_USB2HW_VERSION
{
1358 pub Header
: USBUSER_REQUEST_HEADER
,
1359 pub Parameters
: USB_USB2HW_VERSION_PARAMETERS
,
1361 impl ::core
::marker
::Copy
for USBUSER_GET_USB2HW_VERSION {}
1362 impl ::core
::clone
::Clone
for USBUSER_GET_USB2HW_VERSION
{
1363 fn clone(&self) -> Self {
1367 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1368 pub const USBUSER_GET_USB2_HW_VERSION
: u32 = 9u32;
1369 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1370 pub const USBUSER_GET_USB_DRIVER_VERSION
: u32 = 8u32;
1371 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1372 pub const USBUSER_INVALID_REQUEST
: u32 = 4294967280u32;
1374 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1375 pub struct USBUSER_OPEN_RAW_DEVICE
{
1376 pub Header
: USBUSER_REQUEST_HEADER
,
1377 pub Parameters
: USB_OPEN_RAW_DEVICE_PARAMETERS
,
1379 impl ::core
::marker
::Copy
for USBUSER_OPEN_RAW_DEVICE {}
1380 impl ::core
::clone
::Clone
for USBUSER_OPEN_RAW_DEVICE
{
1381 fn clone(&self) -> Self {
1385 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1386 pub const USBUSER_OP_CLOSE_RAW_DEVICE
: u32 = 536870915u32;
1387 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1388 pub const USBUSER_OP_MASK_DEVONLY_API
: u32 = 268435456u32;
1389 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1390 pub const USBUSER_OP_MASK_HCTEST_API
: u32 = 536870912u32;
1391 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1392 pub const USBUSER_OP_OPEN_RAW_DEVICE
: u32 = 536870914u32;
1393 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1394 pub const USBUSER_OP_RAW_RESET_PORT
: u32 = 536870913u32;
1395 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1396 pub const USBUSER_OP_SEND_ONE_PACKET
: u32 = 268435457u32;
1397 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1398 pub const USBUSER_OP_SEND_RAW_COMMAND
: u32 = 536870916u32;
1399 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1400 pub const USBUSER_PASS_THRU
: u32 = 3u32;
1402 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1403 pub struct USBUSER_PASS_THRU_REQUEST
{
1404 pub Header
: USBUSER_REQUEST_HEADER
,
1405 pub PassThru
: USB_PASS_THRU_PARAMETERS
,
1407 impl ::core
::marker
::Copy
for USBUSER_PASS_THRU_REQUEST {}
1408 impl ::core
::clone
::Clone
for USBUSER_PASS_THRU_REQUEST
{
1409 fn clone(&self) -> Self {
1414 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
1415 #[cfg(feature = "Win32_Foundation")]
1416 pub struct USBUSER_POWER_INFO_REQUEST
{
1417 pub Header
: USBUSER_REQUEST_HEADER
,
1418 pub PowerInformation
: USB_POWER_INFO
,
1420 #[cfg(feature = "Win32_Foundation")]
1421 impl ::core
::marker
::Copy
for USBUSER_POWER_INFO_REQUEST {}
1422 #[cfg(feature = "Win32_Foundation")]
1423 impl ::core
::clone
::Clone
for USBUSER_POWER_INFO_REQUEST
{
1424 fn clone(&self) -> Self {
1429 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1430 pub struct USBUSER_RAW_RESET_ROOT_PORT
{
1431 pub Header
: USBUSER_REQUEST_HEADER
,
1432 pub Parameters
: RAW_RESET_PORT_PARAMETERS
,
1434 impl ::core
::marker
::Copy
for USBUSER_RAW_RESET_ROOT_PORT {}
1435 impl ::core
::clone
::Clone
for USBUSER_RAW_RESET_ROOT_PORT
{
1436 fn clone(&self) -> Self {
1440 #[repr(C, packed(1))]
1441 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1442 pub struct USBUSER_REFRESH_HCT_REG
{
1443 pub Header
: USBUSER_REQUEST_HEADER
,
1446 impl ::core
::marker
::Copy
for USBUSER_REFRESH_HCT_REG {}
1447 impl ::core
::clone
::Clone
for USBUSER_REFRESH_HCT_REG
{
1448 fn clone(&self) -> Self {
1452 #[repr(C, packed(1))]
1453 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1454 pub struct USBUSER_REQUEST_HEADER
{
1455 pub UsbUserRequest
: u32,
1456 pub UsbUserStatusCode
: USB_USER_ERROR_CODE
,
1457 pub RequestBufferLength
: u32,
1458 pub ActualBufferLength
: u32,
1460 impl ::core
::marker
::Copy
for USBUSER_REQUEST_HEADER {}
1461 impl ::core
::clone
::Clone
for USBUSER_REQUEST_HEADER
{
1462 fn clone(&self) -> Self {
1467 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1468 pub struct USBUSER_ROOTPORT_FEATURE_REQUEST
{
1469 pub Header
: USBUSER_REQUEST_HEADER
,
1470 pub Parameters
: RAW_ROOTPORT_FEATURE
,
1472 impl ::core
::marker
::Copy
for USBUSER_ROOTPORT_FEATURE_REQUEST {}
1473 impl ::core
::clone
::Clone
for USBUSER_ROOTPORT_FEATURE_REQUEST
{
1474 fn clone(&self) -> Self {
1479 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1480 pub struct USBUSER_ROOTPORT_PARAMETERS
{
1481 pub Header
: USBUSER_REQUEST_HEADER
,
1482 pub Parameters
: RAW_ROOTPORT_PARAMETERS
,
1484 impl ::core
::marker
::Copy
for USBUSER_ROOTPORT_PARAMETERS {}
1485 impl ::core
::clone
::Clone
for USBUSER_ROOTPORT_PARAMETERS
{
1486 fn clone(&self) -> Self {
1491 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1492 pub struct USBUSER_SEND_ONE_PACKET
{
1493 pub Header
: USBUSER_REQUEST_HEADER
,
1494 pub PacketParameters
: PACKET_PARAMETERS
,
1496 impl ::core
::marker
::Copy
for USBUSER_SEND_ONE_PACKET {}
1497 impl ::core
::clone
::Clone
for USBUSER_SEND_ONE_PACKET
{
1498 fn clone(&self) -> Self {
1503 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1504 pub struct USBUSER_SEND_RAW_COMMAND
{
1505 pub Header
: USBUSER_REQUEST_HEADER
,
1506 pub Parameters
: USB_SEND_RAW_COMMAND_PARAMETERS
,
1508 impl ::core
::marker
::Copy
for USBUSER_SEND_RAW_COMMAND {}
1509 impl ::core
::clone
::Clone
for USBUSER_SEND_RAW_COMMAND
{
1510 fn clone(&self) -> Self {
1514 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1515 pub const USBUSER_SET_ROOTPORT_FEATURE
: u32 = 536870917u32;
1516 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1517 pub const USBUSER_USB_REFRESH_HCT_REG
: u32 = 10u32;
1518 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1519 pub const USBUSER_VERSION
: u32 = 4u32;
1520 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1521 pub const USB_20_ENDPOINT_TYPE_INTERRUPT_RESERVED_MASK
: u32 = 252u32;
1522 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1523 pub const USB_20_HUB_DESCRIPTOR_TYPE
: u32 = 41u32;
1524 #[repr(C, packed(1))]
1525 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1526 pub union USB_20_PORT_CHANGE
{
1527 pub AsUshort16
: u16,
1528 pub Anonymous
: USB_20_PORT_CHANGE_0
,
1530 impl ::core
::marker
::Copy
for USB_20_PORT_CHANGE {}
1531 impl ::core
::clone
::Clone
for USB_20_PORT_CHANGE
{
1532 fn clone(&self) -> Self {
1536 #[repr(C, packed(1))]
1537 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1538 pub struct USB_20_PORT_CHANGE_0
{
1541 impl ::core
::marker
::Copy
for USB_20_PORT_CHANGE_0 {}
1542 impl ::core
::clone
::Clone
for USB_20_PORT_CHANGE_0
{
1543 fn clone(&self) -> Self {
1547 #[repr(C, packed(1))]
1548 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1549 pub union USB_20_PORT_STATUS
{
1550 pub AsUshort16
: u16,
1551 pub Anonymous
: USB_20_PORT_STATUS_0
,
1553 impl ::core
::marker
::Copy
for USB_20_PORT_STATUS {}
1554 impl ::core
::clone
::Clone
for USB_20_PORT_STATUS
{
1555 fn clone(&self) -> Self {
1559 #[repr(C, packed(1))]
1560 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1561 pub struct USB_20_PORT_STATUS_0
{
1564 impl ::core
::marker
::Copy
for USB_20_PORT_STATUS_0 {}
1565 impl ::core
::clone
::Clone
for USB_20_PORT_STATUS_0
{
1566 fn clone(&self) -> Self {
1570 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1571 pub const USB_30_ENDPOINT_TYPE_INTERRUPT_RESERVED_MASK
: u32 = 204u32;
1572 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1573 pub const USB_30_ENDPOINT_TYPE_INTERRUPT_USAGE_MASK
: u32 = 48u32;
1574 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1575 pub const USB_30_ENDPOINT_TYPE_INTERRUPT_USAGE_NOTIFICATION
: u32 = 16u32;
1576 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1577 pub const USB_30_ENDPOINT_TYPE_INTERRUPT_USAGE_PERIODIC
: u32 = 0u32;
1578 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1579 pub const USB_30_ENDPOINT_TYPE_INTERRUPT_USAGE_RESERVED10
: u32 = 32u32;
1580 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1581 pub const USB_30_ENDPOINT_TYPE_INTERRUPT_USAGE_RESERVED11
: u32 = 48u32;
1582 #[repr(C, packed(1))]
1583 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1584 pub struct USB_30_HUB_DESCRIPTOR
{
1586 pub bDescriptorType
: u8,
1587 pub bNumberOfPorts
: u8,
1588 pub wHubCharacteristics
: u16,
1589 pub bPowerOnToPowerGood
: u8,
1590 pub bHubControlCurrent
: u8,
1591 pub bHubHdrDecLat
: u8,
1593 pub DeviceRemovable
: u16,
1595 impl ::core
::marker
::Copy
for USB_30_HUB_DESCRIPTOR {}
1596 impl ::core
::clone
::Clone
for USB_30_HUB_DESCRIPTOR
{
1597 fn clone(&self) -> Self {
1601 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1602 pub const USB_30_HUB_DESCRIPTOR_TYPE
: u32 = 42u32;
1603 #[repr(C, packed(1))]
1604 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1605 pub union USB_30_PORT_CHANGE
{
1606 pub AsUshort16
: u16,
1607 pub Anonymous
: USB_30_PORT_CHANGE_0
,
1609 impl ::core
::marker
::Copy
for USB_30_PORT_CHANGE {}
1610 impl ::core
::clone
::Clone
for USB_30_PORT_CHANGE
{
1611 fn clone(&self) -> Self {
1615 #[repr(C, packed(1))]
1616 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1617 pub struct USB_30_PORT_CHANGE_0
{
1620 impl ::core
::marker
::Copy
for USB_30_PORT_CHANGE_0 {}
1621 impl ::core
::clone
::Clone
for USB_30_PORT_CHANGE_0
{
1622 fn clone(&self) -> Self {
1626 #[repr(C, packed(1))]
1627 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1628 pub union USB_30_PORT_STATUS
{
1629 pub AsUshort16
: u16,
1630 pub Anonymous
: USB_30_PORT_STATUS_0
,
1632 impl ::core
::marker
::Copy
for USB_30_PORT_STATUS {}
1633 impl ::core
::clone
::Clone
for USB_30_PORT_STATUS
{
1634 fn clone(&self) -> Self {
1638 #[repr(C, packed(1))]
1639 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1640 pub struct USB_30_PORT_STATUS_0
{
1643 impl ::core
::marker
::Copy
for USB_30_PORT_STATUS_0 {}
1644 impl ::core
::clone
::Clone
for USB_30_PORT_STATUS_0
{
1645 fn clone(&self) -> Self {
1649 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1650 pub const USB_ALLOW_FIRMWARE_UPDATE
: u32 = 1u32;
1651 #[repr(C, packed(1))]
1652 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1653 pub struct USB_BANDWIDTH_INFO
{
1654 pub DeviceCount
: u32,
1655 pub TotalBusBandwidth
: u32,
1656 pub Total32secBandwidth
: u32,
1657 pub AllocedBulkAndControl
: u32,
1658 pub AllocedIso
: u32,
1659 pub AllocedInterrupt_1ms
: u32,
1660 pub AllocedInterrupt_2ms
: u32,
1661 pub AllocedInterrupt_4ms
: u32,
1662 pub AllocedInterrupt_8ms
: u32,
1663 pub AllocedInterrupt_16ms
: u32,
1664 pub AllocedInterrupt_32ms
: u32,
1666 impl ::core
::marker
::Copy
for USB_BANDWIDTH_INFO {}
1667 impl ::core
::clone
::Clone
for USB_BANDWIDTH_INFO
{
1668 fn clone(&self) -> Self {
1672 #[repr(C, packed(1))]
1673 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1674 pub struct USB_BOS_DESCRIPTOR
{
1676 pub bDescriptorType
: u8,
1677 pub wTotalLength
: u16,
1678 pub bNumDeviceCaps
: u8,
1680 impl ::core
::marker
::Copy
for USB_BOS_DESCRIPTOR {}
1681 impl ::core
::clone
::Clone
for USB_BOS_DESCRIPTOR
{
1682 fn clone(&self) -> Self {
1686 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1687 pub const USB_BOS_DESCRIPTOR_TYPE
: u32 = 15u32;
1688 #[repr(C, packed(1))]
1689 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
1690 #[cfg(feature = "Win32_Foundation")]
1691 pub struct USB_BUS_STATISTICS_0
{
1692 pub DeviceCount
: u32,
1693 pub CurrentSystemTime
: i64,
1694 pub CurrentUsbFrame
: u32,
1697 pub InterruptBytes
: u32,
1698 pub ControlDataBytes
: u32,
1699 pub PciInterruptCount
: u32,
1700 pub HardResetCount
: u32,
1701 pub WorkerSignalCount
: u32,
1702 pub CommonBufferBytes
: u32,
1703 pub WorkerIdleTimeMs
: u32,
1704 pub RootHubEnabled
: super::super::Foundation
::BOOLEAN
,
1705 pub RootHubDevicePowerState
: u8,
1709 #[cfg(feature = "Win32_Foundation")]
1710 impl ::core
::marker
::Copy
for USB_BUS_STATISTICS_0 {}
1711 #[cfg(feature = "Win32_Foundation")]
1712 impl ::core
::clone
::Clone
for USB_BUS_STATISTICS_0
{
1713 fn clone(&self) -> Self {
1717 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1718 pub const USB_CHARGING_POLICY_DEFAULT
: u32 = 0u32;
1719 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1720 pub const USB_CHARGING_POLICY_ICCHPF
: u32 = 1u32;
1721 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1722 pub const USB_CHARGING_POLICY_ICCLPF
: u32 = 2u32;
1723 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1724 pub const USB_CHARGING_POLICY_NO_POWER
: u32 = 3u32;
1725 #[repr(C, packed(1))]
1726 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1727 pub struct USB_CLOSE_RAW_DEVICE_PARAMETERS
{
1730 impl ::core
::marker
::Copy
for USB_CLOSE_RAW_DEVICE_PARAMETERS {}
1731 impl ::core
::clone
::Clone
for USB_CLOSE_RAW_DEVICE_PARAMETERS
{
1732 fn clone(&self) -> Self {
1737 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1738 pub struct USB_COMMON_DESCRIPTOR
{
1740 pub bDescriptorType
: u8,
1742 impl ::core
::marker
::Copy
for USB_COMMON_DESCRIPTOR {}
1743 impl ::core
::clone
::Clone
for USB_COMMON_DESCRIPTOR
{
1744 fn clone(&self) -> Self {
1748 #[repr(C, packed(1))]
1749 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1750 pub struct USB_CONFIGURATION_DESCRIPTOR
{
1752 pub bDescriptorType
: u8,
1753 pub wTotalLength
: u16,
1754 pub bNumInterfaces
: u8,
1755 pub bConfigurationValue
: u8,
1756 pub iConfiguration
: u8,
1757 pub bmAttributes
: u8,
1760 impl ::core
::marker
::Copy
for USB_CONFIGURATION_DESCRIPTOR {}
1761 impl ::core
::clone
::Clone
for USB_CONFIGURATION_DESCRIPTOR
{
1762 fn clone(&self) -> Self {
1766 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1767 pub const USB_CONFIGURATION_DESCRIPTOR_TYPE
: u32 = 2u32;
1768 #[repr(C, packed(1))]
1769 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1770 pub struct USB_CONFIGURATION_POWER_DESCRIPTOR
{
1772 pub bDescriptorType
: u8,
1773 pub SelfPowerConsumedD0
: [u8; 3],
1774 pub bPowerSummaryId
: u8,
1775 pub bBusPowerSavingD1
: u8,
1776 pub bSelfPowerSavingD1
: u8,
1777 pub bBusPowerSavingD2
: u8,
1778 pub bSelfPowerSavingD2
: u8,
1779 pub bBusPowerSavingD3
: u8,
1780 pub bSelfPowerSavingD3
: u8,
1781 pub TransitionTimeFromD1
: u16,
1782 pub TransitionTimeFromD2
: u16,
1783 pub TransitionTimeFromD3
: u16,
1785 impl ::core
::marker
::Copy
for USB_CONFIGURATION_POWER_DESCRIPTOR {}
1786 impl ::core
::clone
::Clone
for USB_CONFIGURATION_POWER_DESCRIPTOR
{
1787 fn clone(&self) -> Self {
1791 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1792 pub const USB_CONFIG_BUS_POWERED
: u32 = 128u32;
1793 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1794 pub const USB_CONFIG_POWERED_MASK
: u32 = 192u32;
1795 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1796 pub const USB_CONFIG_POWER_DESCRIPTOR_TYPE
: u32 = 7u32;
1797 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1798 pub const USB_CONFIG_REMOTE_WAKEUP
: u32 = 32u32;
1799 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1800 pub const USB_CONFIG_RESERVED
: u32 = 31u32;
1801 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1802 pub const USB_CONFIG_SELF_POWERED
: u32 = 64u32;
1803 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1804 pub type USB_CONTROLLER_FLAVOR
= i32;
1805 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1806 pub const USB_HcGeneric
: USB_CONTROLLER_FLAVOR
= 0i32;
1807 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1808 pub const OHCI_Generic
: USB_CONTROLLER_FLAVOR
= 100i32;
1809 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1810 pub const OHCI_Hydra
: USB_CONTROLLER_FLAVOR
= 101i32;
1811 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1812 pub const OHCI_NEC
: USB_CONTROLLER_FLAVOR
= 102i32;
1813 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1814 pub const UHCI_Generic
: USB_CONTROLLER_FLAVOR
= 200i32;
1815 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1816 pub const UHCI_Piix4
: USB_CONTROLLER_FLAVOR
= 201i32;
1817 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1818 pub const UHCI_Piix3
: USB_CONTROLLER_FLAVOR
= 202i32;
1819 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1820 pub const UHCI_Ich2
: USB_CONTROLLER_FLAVOR
= 203i32;
1821 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1822 pub const UHCI_Reserved204
: USB_CONTROLLER_FLAVOR
= 204i32;
1823 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1824 pub const UHCI_Ich1
: USB_CONTROLLER_FLAVOR
= 205i32;
1825 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1826 pub const UHCI_Ich3m
: USB_CONTROLLER_FLAVOR
= 206i32;
1827 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1828 pub const UHCI_Ich4
: USB_CONTROLLER_FLAVOR
= 207i32;
1829 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1830 pub const UHCI_Ich5
: USB_CONTROLLER_FLAVOR
= 208i32;
1831 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1832 pub const UHCI_Ich6
: USB_CONTROLLER_FLAVOR
= 209i32;
1833 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1834 pub const UHCI_Intel
: USB_CONTROLLER_FLAVOR
= 249i32;
1835 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1836 pub const UHCI_VIA
: USB_CONTROLLER_FLAVOR
= 250i32;
1837 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1838 pub const UHCI_VIA_x01
: USB_CONTROLLER_FLAVOR
= 251i32;
1839 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1840 pub const UHCI_VIA_x02
: USB_CONTROLLER_FLAVOR
= 252i32;
1841 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1842 pub const UHCI_VIA_x03
: USB_CONTROLLER_FLAVOR
= 253i32;
1843 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1844 pub const UHCI_VIA_x04
: USB_CONTROLLER_FLAVOR
= 254i32;
1845 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1846 pub const UHCI_VIA_x0E_FIFO
: USB_CONTROLLER_FLAVOR
= 264i32;
1847 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1848 pub const EHCI_Generic
: USB_CONTROLLER_FLAVOR
= 1000i32;
1849 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1850 pub const EHCI_NEC
: USB_CONTROLLER_FLAVOR
= 2000i32;
1851 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1852 pub const EHCI_Lucent
: USB_CONTROLLER_FLAVOR
= 3000i32;
1853 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1854 pub const EHCI_NVIDIA_Tegra2
: USB_CONTROLLER_FLAVOR
= 4000i32;
1855 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1856 pub const EHCI_NVIDIA_Tegra3
: USB_CONTROLLER_FLAVOR
= 4001i32;
1857 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1858 pub const EHCI_Intel_Medfield
: USB_CONTROLLER_FLAVOR
= 5001i32;
1859 #[repr(C, packed(1))]
1860 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1861 pub struct USB_CONTROLLER_INFO_0
{
1862 pub PciVendorId
: u32,
1863 pub PciDeviceId
: u32,
1864 pub PciRevision
: u32,
1865 pub NumberOfRootPorts
: u32,
1866 pub ControllerFlavor
: USB_CONTROLLER_FLAVOR
,
1867 pub HcFeatureFlags
: u32,
1869 impl ::core
::marker
::Copy
for USB_CONTROLLER_INFO_0 {}
1870 impl ::core
::clone
::Clone
for USB_CONTROLLER_INFO_0
{
1871 fn clone(&self) -> Self {
1875 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1876 pub const USB_CYCLE_PORT
: u32 = 7u32;
1877 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1878 pub const USB_DEBUG_DESCRIPTOR_TYPE
: u32 = 10u32;
1879 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1880 pub const USB_DEFAULT_DEVICE_ADDRESS
: u32 = 0u32;
1881 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1882 pub const USB_DEFAULT_ENDPOINT_ADDRESS
: u32 = 0u32;
1883 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1884 pub const USB_DEFAULT_MAX_PACKET
: u32 = 64u32;
1885 #[repr(C, packed(1))]
1886 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1887 pub struct USB_DEFAULT_PIPE_SETUP_PACKET
{
1888 pub bmRequestType
: BM_REQUEST_TYPE
,
1890 pub wValue
: USB_DEFAULT_PIPE_SETUP_PACKET_1
,
1891 pub wIndex
: USB_DEFAULT_PIPE_SETUP_PACKET_0
,
1894 impl ::core
::marker
::Copy
for USB_DEFAULT_PIPE_SETUP_PACKET {}
1895 impl ::core
::clone
::Clone
for USB_DEFAULT_PIPE_SETUP_PACKET
{
1896 fn clone(&self) -> Self {
1900 #[repr(C, packed(1))]
1901 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1902 pub union USB_DEFAULT_PIPE_SETUP_PACKET_0
{
1903 pub Anonymous
: USB_DEFAULT_PIPE_SETUP_PACKET_0_0
,
1906 impl ::core
::marker
::Copy
for USB_DEFAULT_PIPE_SETUP_PACKET_0 {}
1907 impl ::core
::clone
::Clone
for USB_DEFAULT_PIPE_SETUP_PACKET_0
{
1908 fn clone(&self) -> Self {
1913 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1914 pub struct USB_DEFAULT_PIPE_SETUP_PACKET_0_0
{
1918 impl ::core
::marker
::Copy
for USB_DEFAULT_PIPE_SETUP_PACKET_0_0 {}
1919 impl ::core
::clone
::Clone
for USB_DEFAULT_PIPE_SETUP_PACKET_0_0
{
1920 fn clone(&self) -> Self {
1924 #[repr(C, packed(1))]
1925 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1926 pub union USB_DEFAULT_PIPE_SETUP_PACKET_1
{
1927 pub Anonymous
: USB_DEFAULT_PIPE_SETUP_PACKET_1_0
,
1930 impl ::core
::marker
::Copy
for USB_DEFAULT_PIPE_SETUP_PACKET_1 {}
1931 impl ::core
::clone
::Clone
for USB_DEFAULT_PIPE_SETUP_PACKET_1
{
1932 fn clone(&self) -> Self {
1937 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1938 pub struct USB_DEFAULT_PIPE_SETUP_PACKET_1_0
{
1942 impl ::core
::marker
::Copy
for USB_DEFAULT_PIPE_SETUP_PACKET_1_0 {}
1943 impl ::core
::clone
::Clone
for USB_DEFAULT_PIPE_SETUP_PACKET_1_0
{
1944 fn clone(&self) -> Self {
1948 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1949 pub const USB_DEVICE_CAPABILITY_BATTERY_INFO
: u32 = 7u32;
1950 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1951 pub const USB_DEVICE_CAPABILITY_BILLBOARD
: u32 = 13u32;
1952 #[repr(C, packed(1))]
1953 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1954 pub struct USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR
{
1956 pub bDescriptorType
: u8,
1957 pub bDevCapabilityType
: u8,
1958 pub iAddtionalInfoURL
: u8,
1959 pub bNumberOfAlternateModes
: u8,
1960 pub bPreferredAlternateMode
: u8,
1961 pub VconnPower
: USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR_1
,
1962 pub bmConfigured
: [u8; 32],
1964 pub AlternateMode
: [USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR_0
; 1],
1966 impl ::core
::marker
::Copy
for USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR {}
1967 impl ::core
::clone
::Clone
for USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR
{
1968 fn clone(&self) -> Self {
1972 #[repr(C, packed(1))]
1973 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1974 pub struct USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR_0
{
1976 pub bAlternateMode
: u8,
1977 pub iAlternateModeSetting
: u8,
1979 impl ::core
::marker
::Copy
for USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR_0 {}
1980 impl ::core
::clone
::Clone
for USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR_0
{
1981 fn clone(&self) -> Self {
1985 #[repr(C, packed(1))]
1986 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1987 pub union USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR_1
{
1989 pub Anonymous
: USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR_1_0
,
1991 impl ::core
::marker
::Copy
for USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR_1 {}
1992 impl ::core
::clone
::Clone
for USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR_1
{
1993 fn clone(&self) -> Self {
1997 #[repr(C, packed(1))]
1998 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1999 pub struct USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR_1_0
{
2002 impl ::core
::marker
::Copy
for USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR_1_0 {}
2003 impl ::core
::clone
::Clone
for USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR_1_0
{
2004 fn clone(&self) -> Self {
2008 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2009 pub const USB_DEVICE_CAPABILITY_CONTAINER_ID
: u32 = 4u32;
2011 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2012 pub struct USB_DEVICE_CAPABILITY_CONTAINER_ID_DESCRIPTOR
{
2014 pub bDescriptorType
: u8,
2015 pub bDevCapabilityType
: u8,
2017 pub ContainerID
: [u8; 16],
2019 impl ::core
::marker
::Copy
for USB_DEVICE_CAPABILITY_CONTAINER_ID_DESCRIPTOR {}
2020 impl ::core
::clone
::Clone
for USB_DEVICE_CAPABILITY_CONTAINER_ID_DESCRIPTOR
{
2021 fn clone(&self) -> Self {
2026 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2027 pub struct USB_DEVICE_CAPABILITY_DESCRIPTOR
{
2029 pub bDescriptorType
: u8,
2030 pub bDevCapabilityType
: u8,
2032 impl ::core
::marker
::Copy
for USB_DEVICE_CAPABILITY_DESCRIPTOR {}
2033 impl ::core
::clone
::Clone
for USB_DEVICE_CAPABILITY_DESCRIPTOR
{
2034 fn clone(&self) -> Self {
2038 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2039 pub const USB_DEVICE_CAPABILITY_DESCRIPTOR_TYPE
: u32 = 16u32;
2040 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2041 pub const USB_DEVICE_CAPABILITY_FIRMWARE_STATUS
: u32 = 17u32;
2043 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2044 pub struct USB_DEVICE_CAPABILITY_FIRMWARE_STATUS_DESCRIPTOR
{
2046 pub bDescriptorType
: u8,
2047 pub bDevCapabilityType
: u8,
2048 pub bcdDescriptorVersion
: u8,
2049 pub bmAttributes
: USB_DEVICE_CAPABILITY_FIRMWARE_STATUS_DESCRIPTOR_0
,
2051 impl ::core
::marker
::Copy
for USB_DEVICE_CAPABILITY_FIRMWARE_STATUS_DESCRIPTOR {}
2052 impl ::core
::clone
::Clone
for USB_DEVICE_CAPABILITY_FIRMWARE_STATUS_DESCRIPTOR
{
2053 fn clone(&self) -> Self {
2057 #[repr(C, packed(1))]
2058 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2059 pub union USB_DEVICE_CAPABILITY_FIRMWARE_STATUS_DESCRIPTOR_0
{
2061 pub Anonymous
: USB_DEVICE_CAPABILITY_FIRMWARE_STATUS_DESCRIPTOR_0_0
,
2063 impl ::core
::marker
::Copy
for USB_DEVICE_CAPABILITY_FIRMWARE_STATUS_DESCRIPTOR_0 {}
2064 impl ::core
::clone
::Clone
for USB_DEVICE_CAPABILITY_FIRMWARE_STATUS_DESCRIPTOR_0
{
2065 fn clone(&self) -> Self {
2069 #[repr(C, packed(1))]
2070 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2071 pub struct USB_DEVICE_CAPABILITY_FIRMWARE_STATUS_DESCRIPTOR_0_0
{
2074 impl ::core
::marker
::Copy
for USB_DEVICE_CAPABILITY_FIRMWARE_STATUS_DESCRIPTOR_0_0 {}
2075 impl ::core
::clone
::Clone
for USB_DEVICE_CAPABILITY_FIRMWARE_STATUS_DESCRIPTOR_0_0
{
2076 fn clone(&self) -> Self {
2080 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2081 pub const USB_DEVICE_CAPABILITY_MAX_U1_LATENCY
: u32 = 10u32;
2082 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2083 pub const USB_DEVICE_CAPABILITY_MAX_U2_LATENCY
: u32 = 2047u32;
2084 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2085 pub const USB_DEVICE_CAPABILITY_PD_CONSUMER_PORT
: u32 = 8u32;
2086 #[repr(C, packed(1))]
2087 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2088 pub struct USB_DEVICE_CAPABILITY_PD_CONSUMER_PORT_DESCRIPTOR
{
2090 pub bDescriptorType
: u8,
2091 pub bDevCapabilityType
: u8,
2093 pub bmCapabilities
: USB_DEVICE_CAPABILITY_PD_CONSUMER_PORT_DESCRIPTOR_0
,
2094 pub wMinVoltage
: u16,
2095 pub wMaxVoltage
: u16,
2097 pub dwMaxOperatingPower
: u32,
2098 pub dwMaxPeakPower
: u32,
2099 pub dwMaxPeakPowerTime
: u32,
2101 impl ::core
::marker
::Copy
for USB_DEVICE_CAPABILITY_PD_CONSUMER_PORT_DESCRIPTOR {}
2102 impl ::core
::clone
::Clone
for USB_DEVICE_CAPABILITY_PD_CONSUMER_PORT_DESCRIPTOR
{
2103 fn clone(&self) -> Self {
2107 #[repr(C, packed(1))]
2108 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2109 pub union USB_DEVICE_CAPABILITY_PD_CONSUMER_PORT_DESCRIPTOR_0
{
2111 pub Anonymous
: USB_DEVICE_CAPABILITY_PD_CONSUMER_PORT_DESCRIPTOR_0_0
,
2113 impl ::core
::marker
::Copy
for USB_DEVICE_CAPABILITY_PD_CONSUMER_PORT_DESCRIPTOR_0 {}
2114 impl ::core
::clone
::Clone
for USB_DEVICE_CAPABILITY_PD_CONSUMER_PORT_DESCRIPTOR_0
{
2115 fn clone(&self) -> Self {
2119 #[repr(C, packed(1))]
2120 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2121 pub struct USB_DEVICE_CAPABILITY_PD_CONSUMER_PORT_DESCRIPTOR_0_0
{
2124 impl ::core
::marker
::Copy
for USB_DEVICE_CAPABILITY_PD_CONSUMER_PORT_DESCRIPTOR_0_0 {}
2125 impl ::core
::clone
::Clone
for USB_DEVICE_CAPABILITY_PD_CONSUMER_PORT_DESCRIPTOR_0_0
{
2126 fn clone(&self) -> Self {
2130 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2131 pub const USB_DEVICE_CAPABILITY_PD_PROVIDER_PORT
: u32 = 9u32;
2132 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2133 pub const USB_DEVICE_CAPABILITY_PLATFORM
: u32 = 5u32;
2134 #[repr(C, packed(1))]
2135 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2136 pub struct USB_DEVICE_CAPABILITY_PLATFORM_DESCRIPTOR
{
2138 pub bDescriptorType
: u8,
2139 pub bDevCapabilityType
: u8,
2141 pub PlatformCapabilityUuid
: ::windows_sys
::core
::GUID
,
2142 pub CapabililityData
: [u8; 1],
2144 impl ::core
::marker
::Copy
for USB_DEVICE_CAPABILITY_PLATFORM_DESCRIPTOR {}
2145 impl ::core
::clone
::Clone
for USB_DEVICE_CAPABILITY_PLATFORM_DESCRIPTOR
{
2146 fn clone(&self) -> Self {
2150 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2151 pub const USB_DEVICE_CAPABILITY_POWER_DELIVERY
: u32 = 6u32;
2152 #[repr(C, packed(1))]
2153 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2154 pub struct USB_DEVICE_CAPABILITY_POWER_DELIVERY_DESCRIPTOR
{
2156 pub bDescriptorType
: u8,
2157 pub bDevCapabilityType
: u8,
2159 pub bmAttributes
: USB_DEVICE_CAPABILITY_POWER_DELIVERY_DESCRIPTOR_0
,
2160 pub bmProviderPorts
: u16,
2161 pub bmConsumerPorts
: u16,
2162 pub bcdBCVersion
: u16,
2163 pub bcdPDVersion
: u16,
2164 pub bcdUSBTypeCVersion
: u16,
2166 impl ::core
::marker
::Copy
for USB_DEVICE_CAPABILITY_POWER_DELIVERY_DESCRIPTOR {}
2167 impl ::core
::clone
::Clone
for USB_DEVICE_CAPABILITY_POWER_DELIVERY_DESCRIPTOR
{
2168 fn clone(&self) -> Self {
2172 #[repr(C, packed(1))]
2173 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2174 pub union USB_DEVICE_CAPABILITY_POWER_DELIVERY_DESCRIPTOR_0
{
2176 pub Anonymous
: USB_DEVICE_CAPABILITY_POWER_DELIVERY_DESCRIPTOR_0_0
,
2178 impl ::core
::marker
::Copy
for USB_DEVICE_CAPABILITY_POWER_DELIVERY_DESCRIPTOR_0 {}
2179 impl ::core
::clone
::Clone
for USB_DEVICE_CAPABILITY_POWER_DELIVERY_DESCRIPTOR_0
{
2180 fn clone(&self) -> Self {
2184 #[repr(C, packed(1))]
2185 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2186 pub struct USB_DEVICE_CAPABILITY_POWER_DELIVERY_DESCRIPTOR_0_0
{
2189 impl ::core
::marker
::Copy
for USB_DEVICE_CAPABILITY_POWER_DELIVERY_DESCRIPTOR_0_0 {}
2190 impl ::core
::clone
::Clone
for USB_DEVICE_CAPABILITY_POWER_DELIVERY_DESCRIPTOR_0_0
{
2191 fn clone(&self) -> Self {
2195 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2196 pub const USB_DEVICE_CAPABILITY_PRECISION_TIME_MEASUREMENT
: u32 = 11u32;
2197 #[repr(C, packed(1))]
2198 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2199 pub union USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED
{
2201 pub Anonymous
: USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_0
,
2203 impl ::core
::marker
::Copy
for USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED {}
2204 impl ::core
::clone
::Clone
for USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED
{
2205 fn clone(&self) -> Self {
2209 #[repr(C, packed(1))]
2210 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2211 pub struct USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_0
{
2214 impl ::core
::marker
::Copy
for USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_0 {}
2215 impl ::core
::clone
::Clone
for USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_0
{
2216 fn clone(&self) -> Self {
2220 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2221 pub const USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_DIR_RX
: u32 = 0u32;
2222 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2223 pub const USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_DIR_TX
: u32 = 1u32;
2224 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2225 pub const USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_LSE_BPS
: u32 = 0u32;
2226 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2227 pub const USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_LSE_GBPS
: u32 = 3u32;
2228 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2229 pub const USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_LSE_KBPS
: u32 = 1u32;
2230 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2231 pub const USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_LSE_MBPS
: u32 = 2u32;
2232 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2233 pub const USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_MODE_ASYMMETRIC
: u32 = 1u32;
2234 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2235 pub const USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_MODE_SYMMETRIC
: u32 = 0u32;
2236 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2237 pub const USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_PROTOCOL_SS
: u32 = 0u32;
2238 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2239 pub const USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_PROTOCOL_SSP
: u32 = 1u32;
2240 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2241 pub const USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB
: u32 = 10u32;
2242 #[repr(C, packed(1))]
2243 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2244 pub struct USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR
{
2246 pub bDescriptorType
: u8,
2247 pub bDevCapabilityType
: u8,
2249 pub bmAttributes
: USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_0
,
2250 pub wFunctionalitySupport
: USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_1
,
2252 pub bmSublinkSpeedAttr
: [USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED
; 1],
2254 impl ::core
::marker
::Copy
for USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR {}
2255 impl ::core
::clone
::Clone
for USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR
{
2256 fn clone(&self) -> Self {
2260 #[repr(C, packed(1))]
2261 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2262 pub union USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_0
{
2264 pub Anonymous
: USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_0_0
,
2266 impl ::core
::marker
::Copy
for USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_0 {}
2267 impl ::core
::clone
::Clone
for USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_0
{
2268 fn clone(&self) -> Self {
2272 #[repr(C, packed(1))]
2273 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2274 pub struct USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_0_0
{
2277 impl ::core
::marker
::Copy
for USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_0_0 {}
2278 impl ::core
::clone
::Clone
for USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_0_0
{
2279 fn clone(&self) -> Self {
2283 #[repr(C, packed(1))]
2284 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2285 pub union USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_1
{
2287 pub Anonymous
: USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_1_0
,
2289 impl ::core
::marker
::Copy
for USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_1 {}
2290 impl ::core
::clone
::Clone
for USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_1
{
2291 fn clone(&self) -> Self {
2295 #[repr(C, packed(1))]
2296 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2297 pub struct USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_1_0
{
2300 impl ::core
::marker
::Copy
for USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_1_0 {}
2301 impl ::core
::clone
::Clone
for USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_1_0
{
2302 fn clone(&self) -> Self {
2306 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2307 pub const USB_DEVICE_CAPABILITY_SUPERSPEED_BMATTRIBUTES_LTM_CAPABLE
: u32 = 2u32;
2308 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2309 pub const USB_DEVICE_CAPABILITY_SUPERSPEED_BMATTRIBUTES_RESERVED_MASK
: u32 = 253u32;
2310 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2311 pub const USB_DEVICE_CAPABILITY_SUPERSPEED_SPEEDS_SUPPORTED_FULL
: u32 = 2u32;
2312 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2313 pub const USB_DEVICE_CAPABILITY_SUPERSPEED_SPEEDS_SUPPORTED_HIGH
: u32 = 4u32;
2314 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2315 pub const USB_DEVICE_CAPABILITY_SUPERSPEED_SPEEDS_SUPPORTED_LOW
: u32 = 1u32;
2316 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2317 pub const USB_DEVICE_CAPABILITY_SUPERSPEED_SPEEDS_SUPPORTED_RESERVED_MASK
: u32 = 65520u32;
2318 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2319 pub const USB_DEVICE_CAPABILITY_SUPERSPEED_SPEEDS_SUPPORTED_SUPER
: u32 = 8u32;
2320 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2321 pub const USB_DEVICE_CAPABILITY_SUPERSPEED_U1_DEVICE_EXIT_MAX_VALUE
: u32 = 10u32;
2322 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2323 pub const USB_DEVICE_CAPABILITY_SUPERSPEED_U2_DEVICE_EXIT_MAX_VALUE
: u32 = 2047u32;
2324 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2325 pub const USB_DEVICE_CAPABILITY_SUPERSPEED_USB
: u32 = 3u32;
2326 #[repr(C, packed(1))]
2327 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2328 pub struct USB_DEVICE_CAPABILITY_SUPERSPEED_USB_DESCRIPTOR
{
2330 pub bDescriptorType
: u8,
2331 pub bDevCapabilityType
: u8,
2332 pub bmAttributes
: u8,
2333 pub wSpeedsSupported
: u16,
2334 pub bFunctionalitySupport
: u8,
2335 pub bU1DevExitLat
: u8,
2336 pub wU2DevExitLat
: u16,
2338 impl ::core
::marker
::Copy
for USB_DEVICE_CAPABILITY_SUPERSPEED_USB_DESCRIPTOR {}
2339 impl ::core
::clone
::Clone
for USB_DEVICE_CAPABILITY_SUPERSPEED_USB_DESCRIPTOR
{
2340 fn clone(&self) -> Self {
2344 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2345 pub const USB_DEVICE_CAPABILITY_USB20_EXTENSION
: u32 = 2u32;
2346 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2347 pub const USB_DEVICE_CAPABILITY_USB20_EXTENSION_BMATTRIBUTES_RESERVED_MASK
: u32 = 4294901985u32;
2349 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2350 pub struct USB_DEVICE_CAPABILITY_USB20_EXTENSION_DESCRIPTOR
{
2352 pub bDescriptorType
: u8,
2353 pub bDevCapabilityType
: u8,
2354 pub bmAttributes
: USB_DEVICE_CAPABILITY_USB20_EXTENSION_DESCRIPTOR_0
,
2356 impl ::core
::marker
::Copy
for USB_DEVICE_CAPABILITY_USB20_EXTENSION_DESCRIPTOR {}
2357 impl ::core
::clone
::Clone
for USB_DEVICE_CAPABILITY_USB20_EXTENSION_DESCRIPTOR
{
2358 fn clone(&self) -> Self {
2362 #[repr(C, packed(1))]
2363 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2364 pub union USB_DEVICE_CAPABILITY_USB20_EXTENSION_DESCRIPTOR_0
{
2366 pub Anonymous
: USB_DEVICE_CAPABILITY_USB20_EXTENSION_DESCRIPTOR_0_0
,
2368 impl ::core
::marker
::Copy
for USB_DEVICE_CAPABILITY_USB20_EXTENSION_DESCRIPTOR_0 {}
2369 impl ::core
::clone
::Clone
for USB_DEVICE_CAPABILITY_USB20_EXTENSION_DESCRIPTOR_0
{
2370 fn clone(&self) -> Self {
2374 #[repr(C, packed(1))]
2375 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2376 pub struct USB_DEVICE_CAPABILITY_USB20_EXTENSION_DESCRIPTOR_0_0
{
2379 impl ::core
::marker
::Copy
for USB_DEVICE_CAPABILITY_USB20_EXTENSION_DESCRIPTOR_0_0 {}
2380 impl ::core
::clone
::Clone
for USB_DEVICE_CAPABILITY_USB20_EXTENSION_DESCRIPTOR_0_0
{
2381 fn clone(&self) -> Self {
2385 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2386 pub const USB_DEVICE_CAPABILITY_WIRELESS_USB
: u32 = 1u32;
2387 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2388 pub const USB_DEVICE_CHARACTERISTICS_MAXIMUM_PATH_DELAYS_AVAILABLE
: u32 = 1u32;
2389 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2390 pub const USB_DEVICE_CHARACTERISTICS_VERSION_1
: u32 = 1u32;
2391 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2392 pub const USB_DEVICE_CLASS_APPLICATION_SPECIFIC
: u32 = 254u32;
2393 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2394 pub const USB_DEVICE_CLASS_AUDIO
: u32 = 1u32;
2395 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2396 pub const USB_DEVICE_CLASS_AUDIO_VIDEO
: u32 = 16u32;
2397 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2398 pub const USB_DEVICE_CLASS_BILLBOARD
: u32 = 17u32;
2399 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2400 pub const USB_DEVICE_CLASS_CDC_DATA
: u32 = 10u32;
2401 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2402 pub const USB_DEVICE_CLASS_COMMUNICATIONS
: u32 = 2u32;
2403 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2404 pub const USB_DEVICE_CLASS_CONTENT_SECURITY
: u32 = 13u32;
2405 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2406 pub const USB_DEVICE_CLASS_DIAGNOSTIC_DEVICE
: u32 = 220u32;
2407 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2408 pub const USB_DEVICE_CLASS_HUB
: u32 = 9u32;
2409 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2410 pub const USB_DEVICE_CLASS_HUMAN_INTERFACE
: u32 = 3u32;
2411 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2412 pub const USB_DEVICE_CLASS_IMAGE
: u32 = 6u32;
2413 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2414 pub const USB_DEVICE_CLASS_MISCELLANEOUS
: u32 = 239u32;
2415 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2416 pub const USB_DEVICE_CLASS_MONITOR
: u32 = 4u32;
2417 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2418 pub const USB_DEVICE_CLASS_PERSONAL_HEALTHCARE
: u32 = 15u32;
2419 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2420 pub const USB_DEVICE_CLASS_PHYSICAL_INTERFACE
: u32 = 5u32;
2421 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2422 pub const USB_DEVICE_CLASS_POWER
: u32 = 6u32;
2423 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2424 pub const USB_DEVICE_CLASS_PRINTER
: u32 = 7u32;
2425 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2426 pub const USB_DEVICE_CLASS_RESERVED
: u32 = 0u32;
2427 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2428 pub const USB_DEVICE_CLASS_SMART_CARD
: u32 = 11u32;
2429 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2430 pub const USB_DEVICE_CLASS_STORAGE
: u32 = 8u32;
2431 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2432 pub const USB_DEVICE_CLASS_VENDOR_SPECIFIC
: u32 = 255u32;
2433 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2434 pub const USB_DEVICE_CLASS_VIDEO
: u32 = 14u32;
2435 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2436 pub const USB_DEVICE_CLASS_WIRELESS_CONTROLLER
: u32 = 224u32;
2437 #[repr(C, packed(1))]
2438 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2439 pub struct USB_DEVICE_DESCRIPTOR
{
2441 pub bDescriptorType
: u8,
2443 pub bDeviceClass
: u8,
2444 pub bDeviceSubClass
: u8,
2445 pub bDeviceProtocol
: u8,
2446 pub bMaxPacketSize0
: u8,
2450 pub iManufacturer
: u8,
2452 pub iSerialNumber
: u8,
2453 pub bNumConfigurations
: u8,
2455 impl ::core
::marker
::Copy
for USB_DEVICE_DESCRIPTOR {}
2456 impl ::core
::clone
::Clone
for USB_DEVICE_DESCRIPTOR
{
2457 fn clone(&self) -> Self {
2461 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2462 pub const USB_DEVICE_DESCRIPTOR_TYPE
: u32 = 1u32;
2463 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2464 pub const USB_DEVICE_FIRMWARE_HASH_LENGTH
: u32 = 32u32;
2465 #[repr(C, packed(1))]
2466 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2467 pub struct USB_DEVICE_QUALIFIER_DESCRIPTOR
{
2469 pub bDescriptorType
: u8,
2471 pub bDeviceClass
: u8,
2472 pub bDeviceSubClass
: u8,
2473 pub bDeviceProtocol
: u8,
2474 pub bMaxPacketSize0
: u8,
2475 pub bNumConfigurations
: u8,
2478 impl ::core
::marker
::Copy
for USB_DEVICE_QUALIFIER_DESCRIPTOR {}
2479 impl ::core
::clone
::Clone
for USB_DEVICE_QUALIFIER_DESCRIPTOR
{
2480 fn clone(&self) -> Self {
2484 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2485 pub const USB_DEVICE_QUALIFIER_DESCRIPTOR_TYPE
: u32 = 6u32;
2486 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2487 pub type USB_DEVICE_SPEED
= i32;
2488 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2489 pub const UsbLowSpeed
: USB_DEVICE_SPEED
= 0i32;
2490 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2491 pub const UsbFullSpeed
: USB_DEVICE_SPEED
= 1i32;
2492 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2493 pub const UsbHighSpeed
: USB_DEVICE_SPEED
= 2i32;
2494 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2495 pub const UsbSuperSpeed
: USB_DEVICE_SPEED
= 3i32;
2496 #[repr(C, packed(1))]
2497 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2498 pub union USB_DEVICE_STATUS
{
2499 pub AsUshort16
: u16,
2500 pub Anonymous
: USB_DEVICE_STATUS_0
,
2502 impl ::core
::marker
::Copy
for USB_DEVICE_STATUS {}
2503 impl ::core
::clone
::Clone
for USB_DEVICE_STATUS
{
2504 fn clone(&self) -> Self {
2508 #[repr(C, packed(1))]
2509 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2510 pub struct USB_DEVICE_STATUS_0
{
2513 impl ::core
::marker
::Copy
for USB_DEVICE_STATUS_0 {}
2514 impl ::core
::clone
::Clone
for USB_DEVICE_STATUS_0
{
2515 fn clone(&self) -> Self {
2519 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2520 pub type USB_DEVICE_TYPE
= i32;
2521 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2522 pub const Usb11Device
: USB_DEVICE_TYPE
= 0i32;
2523 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2524 pub const Usb20Device
: USB_DEVICE_TYPE
= 1i32;
2525 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2526 pub const USB_DIAG_IGNORE_HUBS_OFF
: u32 = 263u32;
2527 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2528 pub const USB_DIAG_IGNORE_HUBS_ON
: u32 = 262u32;
2529 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2530 pub const USB_DISALLOW_FIRMWARE_UPDATE
: u32 = 0u32;
2531 #[repr(C, packed(1))]
2532 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
2533 #[cfg(feature = "Win32_Foundation")]
2534 pub struct USB_DRIVER_VERSION_PARAMETERS
{
2535 pub DriverTrackingCode
: u32,
2536 pub USBDI_Version
: u32,
2537 pub USBUSER_Version
: u32,
2538 pub CheckedPortDriver
: super::super::Foundation
::BOOLEAN
,
2539 pub CheckedMiniportDriver
: super::super::Foundation
::BOOLEAN
,
2540 pub USB_Version
: u16,
2542 #[cfg(feature = "Win32_Foundation")]
2543 impl ::core
::marker
::Copy
for USB_DRIVER_VERSION_PARAMETERS {}
2544 #[cfg(feature = "Win32_Foundation")]
2545 impl ::core
::clone
::Clone
for USB_DRIVER_VERSION_PARAMETERS
{
2546 fn clone(&self) -> Self {
2550 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2551 pub const USB_ENABLE_PORT
: u32 = 5u32;
2552 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2553 pub const USB_ENDPOINT_ADDRESS_MASK
: u32 = 15u32;
2554 #[repr(C, packed(1))]
2555 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2556 pub struct USB_ENDPOINT_DESCRIPTOR
{
2558 pub bDescriptorType
: u8,
2559 pub bEndpointAddress
: u8,
2560 pub bmAttributes
: u8,
2561 pub wMaxPacketSize
: u16,
2564 impl ::core
::marker
::Copy
for USB_ENDPOINT_DESCRIPTOR {}
2565 impl ::core
::clone
::Clone
for USB_ENDPOINT_DESCRIPTOR
{
2566 fn clone(&self) -> Self {
2570 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2571 pub const USB_ENDPOINT_DESCRIPTOR_TYPE
: u32 = 5u32;
2572 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2573 pub const USB_ENDPOINT_DIRECTION_MASK
: u32 = 128u32;
2574 #[repr(C, packed(1))]
2575 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2576 pub union USB_ENDPOINT_STATUS
{
2577 pub AsUshort16
: u16,
2578 pub Anonymous
: USB_ENDPOINT_STATUS_0
,
2580 impl ::core
::marker
::Copy
for USB_ENDPOINT_STATUS {}
2581 impl ::core
::clone
::Clone
for USB_ENDPOINT_STATUS
{
2582 fn clone(&self) -> Self {
2586 #[repr(C, packed(1))]
2587 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2588 pub struct USB_ENDPOINT_STATUS_0
{
2591 impl ::core
::marker
::Copy
for USB_ENDPOINT_STATUS_0 {}
2592 impl ::core
::clone
::Clone
for USB_ENDPOINT_STATUS_0
{
2593 fn clone(&self) -> Self {
2597 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2598 pub const USB_ENDPOINT_SUPERSPEED_BULK_MAX_PACKET_SIZE
: u32 = 1024u32;
2599 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2600 pub const USB_ENDPOINT_SUPERSPEED_CONTROL_MAX_PACKET_SIZE
: u32 = 512u32;
2601 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2602 pub const USB_ENDPOINT_SUPERSPEED_INTERRUPT_MAX_PACKET_SIZE
: u32 = 1024u32;
2603 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2604 pub const USB_ENDPOINT_SUPERSPEED_ISO_MAX_PACKET_SIZE
: u32 = 1024u32;
2605 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2606 pub const USB_ENDPOINT_TYPE_BULK
: u32 = 2u32;
2607 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2608 pub const USB_ENDPOINT_TYPE_BULK_RESERVED_MASK
: u32 = 252u32;
2609 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2610 pub const USB_ENDPOINT_TYPE_CONTROL
: u32 = 0u32;
2611 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2612 pub const USB_ENDPOINT_TYPE_CONTROL_RESERVED_MASK
: u32 = 252u32;
2613 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2614 pub const USB_ENDPOINT_TYPE_INTERRUPT
: u32 = 3u32;
2615 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2616 pub const USB_ENDPOINT_TYPE_ISOCHRONOUS
: u32 = 1u32;
2617 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2618 pub const USB_ENDPOINT_TYPE_ISOCHRONOUS_RESERVED_MASK
: u32 = 192u32;
2619 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2620 pub const USB_ENDPOINT_TYPE_ISOCHRONOUS_SYNCHRONIZATION_ADAPTIVE
: u32 = 8u32;
2621 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2622 pub const USB_ENDPOINT_TYPE_ISOCHRONOUS_SYNCHRONIZATION_ASYNCHRONOUS
: u32 = 4u32;
2623 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2624 pub const USB_ENDPOINT_TYPE_ISOCHRONOUS_SYNCHRONIZATION_MASK
: u32 = 12u32;
2625 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2626 pub const USB_ENDPOINT_TYPE_ISOCHRONOUS_SYNCHRONIZATION_NO_SYNCHRONIZATION
: u32 = 0u32;
2627 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2628 pub const USB_ENDPOINT_TYPE_ISOCHRONOUS_SYNCHRONIZATION_SYNCHRONOUS
: u32 = 12u32;
2629 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2630 pub const USB_ENDPOINT_TYPE_ISOCHRONOUS_USAGE_DATA_ENDOINT
: u32 = 0u32;
2631 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2632 pub const USB_ENDPOINT_TYPE_ISOCHRONOUS_USAGE_FEEDBACK_ENDPOINT
: u32 = 16u32;
2633 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2634 pub const USB_ENDPOINT_TYPE_ISOCHRONOUS_USAGE_IMPLICIT_FEEDBACK_DATA_ENDPOINT
: u32 = 32u32;
2635 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2636 pub const USB_ENDPOINT_TYPE_ISOCHRONOUS_USAGE_MASK
: u32 = 48u32;
2637 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2638 pub const USB_ENDPOINT_TYPE_ISOCHRONOUS_USAGE_RESERVED
: u32 = 48u32;
2639 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2640 pub const USB_ENDPOINT_TYPE_MASK
: u32 = 3u32;
2641 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2642 pub const USB_FAIL_GET_STATUS
: u32 = 280u32;
2643 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2644 pub const USB_FEATURE_BATTERY_WAKE_MASK
: u32 = 40u32;
2645 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2646 pub const USB_FEATURE_CHARGING_POLICY
: u32 = 54u32;
2647 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2648 pub const USB_FEATURE_ENDPOINT_STALL
: u32 = 0u32;
2649 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2650 pub const USB_FEATURE_FUNCTION_SUSPEND
: u32 = 0u32;
2651 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2652 pub const USB_FEATURE_INTERFACE_POWER_D0
: u32 = 2u32;
2653 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2654 pub const USB_FEATURE_INTERFACE_POWER_D1
: u32 = 3u32;
2655 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2656 pub const USB_FEATURE_INTERFACE_POWER_D2
: u32 = 4u32;
2657 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2658 pub const USB_FEATURE_INTERFACE_POWER_D3
: u32 = 5u32;
2659 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2660 pub const USB_FEATURE_LDM_ENABLE
: u32 = 53u32;
2661 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2662 pub const USB_FEATURE_LTM_ENABLE
: u32 = 50u32;
2663 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2664 pub const USB_FEATURE_OS_IS_PD_AWARE
: u32 = 41u32;
2665 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2666 pub const USB_FEATURE_POLICY_MODE
: u32 = 42u32;
2667 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2668 pub const USB_FEATURE_REMOTE_WAKEUP
: u32 = 1u32;
2669 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2670 pub const USB_FEATURE_TEST_MODE
: u32 = 2u32;
2671 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2672 pub const USB_FEATURE_U1_ENABLE
: u32 = 48u32;
2673 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2674 pub const USB_FEATURE_U2_ENABLE
: u32 = 49u32;
2675 #[repr(C, packed(1))]
2676 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
2677 #[cfg(feature = "Win32_Foundation")]
2678 pub struct USB_FRAME_NUMBER_AND_QPC_FOR_TIME_SYNC_INFORMATION
{
2679 pub TimeTrackingHandle
: super::super::Foundation
::HANDLE
,
2680 pub InputFrameNumber
: u32,
2681 pub InputMicroFrameNumber
: u32,
2682 pub QueryPerformanceCounterAtInputFrameOrMicroFrame
: i64,
2683 pub QueryPerformanceCounterFrequency
: i64,
2684 pub PredictedAccuracyInMicroSeconds
: u32,
2685 pub CurrentGenerationID
: u32,
2686 pub CurrentQueryPerformanceCounter
: i64,
2687 pub CurrentHardwareFrameNumber
: u32,
2688 pub CurrentHardwareMicroFrameNumber
: u32,
2689 pub CurrentUSBFrameNumber
: u32,
2691 #[cfg(feature = "Win32_Foundation")]
2692 impl ::core
::marker
::Copy
for USB_FRAME_NUMBER_AND_QPC_FOR_TIME_SYNC_INFORMATION {}
2693 #[cfg(feature = "Win32_Foundation")]
2694 impl ::core
::clone
::Clone
for USB_FRAME_NUMBER_AND_QPC_FOR_TIME_SYNC_INFORMATION
{
2695 fn clone(&self) -> Self {
2700 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2701 pub union USB_FUNCTION_SUSPEND_OPTIONS
{
2703 pub Anonymous
: USB_FUNCTION_SUSPEND_OPTIONS_0
,
2705 impl ::core
::marker
::Copy
for USB_FUNCTION_SUSPEND_OPTIONS {}
2706 impl ::core
::clone
::Clone
for USB_FUNCTION_SUSPEND_OPTIONS
{
2707 fn clone(&self) -> Self {
2712 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2713 pub struct USB_FUNCTION_SUSPEND_OPTIONS_0
{
2716 impl ::core
::marker
::Copy
for USB_FUNCTION_SUSPEND_OPTIONS_0 {}
2717 impl ::core
::clone
::Clone
for USB_FUNCTION_SUSPEND_OPTIONS_0
{
2718 fn clone(&self) -> Self {
2722 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2723 pub const USB_GETSTATUS_LTM_ENABLE
: u32 = 16u32;
2724 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2725 pub const USB_GETSTATUS_REMOTE_WAKEUP_ENABLED
: u32 = 2u32;
2726 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2727 pub const USB_GETSTATUS_SELF_POWERED
: u32 = 1u32;
2728 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2729 pub const USB_GETSTATUS_U1_ENABLE
: u32 = 4u32;
2730 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2731 pub const USB_GETSTATUS_U2_ENABLE
: u32 = 8u32;
2732 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2733 pub const USB_GET_BUSGUID_INFO
: u32 = 266u32;
2734 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2735 pub const USB_GET_BUS_INFO
: u32 = 264u32;
2736 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2737 pub const USB_GET_CONTROLLER_NAME
: u32 = 265u32;
2738 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2739 pub const USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION
: u32 = 260u32;
2740 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2741 pub const USB_GET_DEVICE_CHARACTERISTICS
: u32 = 288u32;
2742 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2743 pub const USB_GET_DEVICE_HANDLE
: u32 = 268u32;
2744 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2745 pub const USB_GET_DEVICE_HANDLE_EX
: u32 = 269u32;
2746 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2747 pub const USB_GET_FIRMWARE_ALLOWED_OR_DISALLOWED_STATE
: u32 = 0u32;
2748 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2749 pub const USB_GET_FIRMWARE_HASH
: u32 = 1u32;
2750 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2751 pub const USB_GET_FRAME_NUMBER_AND_QPC_FOR_TIME_SYNC
: u32 = 286u32;
2752 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2753 pub const USB_GET_HUB_CAPABILITIES
: u32 = 271u32;
2754 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2755 pub const USB_GET_HUB_CAPABILITIES_EX
: u32 = 276u32;
2756 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2757 pub const USB_GET_HUB_CONFIG_INFO
: u32 = 275u32;
2758 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2759 pub const USB_GET_HUB_COUNT
: u32 = 6u32;
2760 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2761 pub const USB_GET_HUB_INFORMATION_EX
: u32 = 277u32;
2762 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2763 pub const USB_GET_HUB_NAME
: u32 = 8u32;
2764 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2765 pub const USB_GET_NODE_CONNECTION_ATTRIBUTES
: u32 = 272u32;
2766 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2767 pub const USB_GET_NODE_CONNECTION_DRIVERKEY_NAME
: u32 = 264u32;
2768 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2769 pub const USB_GET_NODE_CONNECTION_INFORMATION
: u32 = 259u32;
2770 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2771 pub const USB_GET_NODE_CONNECTION_INFORMATION_EX
: u32 = 274u32;
2772 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2773 pub const USB_GET_NODE_CONNECTION_INFORMATION_EX_V2
: u32 = 279u32;
2774 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2775 pub const USB_GET_NODE_CONNECTION_NAME
: u32 = 261u32;
2776 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2777 pub const USB_GET_NODE_INFORMATION
: u32 = 258u32;
2778 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2779 pub const USB_GET_PARENT_HUB_INFO
: u32 = 267u32;
2780 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2781 pub const USB_GET_PORT_CONNECTOR_PROPERTIES
: u32 = 278u32;
2782 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2783 pub const USB_GET_PORT_STATUS
: u32 = 4u32;
2784 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2785 pub const USB_GET_ROOTHUB_PDO
: u32 = 3u32;
2786 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2787 pub const USB_GET_TOPOLOGY_ADDRESS
: u32 = 271u32;
2788 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2789 pub const USB_GET_TRANSPORT_CHARACTERISTICS
: u32 = 281u32;
2790 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2791 pub const USB_GET_TT_DEVICE_HANDLE
: u32 = 270u32;
2792 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2793 pub const USB_HC_FEATURE_FLAG_PORT_POWER_SWITCHING
: u32 = 1u32;
2794 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2795 pub const USB_HC_FEATURE_FLAG_SEL_SUSPEND
: u32 = 2u32;
2796 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2797 pub const USB_HC_FEATURE_LEGACY_BIOS
: u32 = 4u32;
2798 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2799 pub const USB_HC_FEATURE_TIME_SYNC_API
: u32 = 8u32;
2800 #[repr(C, packed(1))]
2801 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2802 pub union USB_HIGH_SPEED_MAXPACKET
{
2805 impl ::core
::marker
::Copy
for USB_HIGH_SPEED_MAXPACKET {}
2806 impl ::core
::clone
::Clone
for USB_HIGH_SPEED_MAXPACKET
{
2807 fn clone(&self) -> Self {
2811 #[repr(C, packed(1))]
2812 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2813 pub struct USB_HIGH_SPEED_MAXPACKET_0
{
2816 impl ::core
::marker
::Copy
for USB_HIGH_SPEED_MAXPACKET_0 {}
2817 impl ::core
::clone
::Clone
for USB_HIGH_SPEED_MAXPACKET_0
{
2818 fn clone(&self) -> Self {
2823 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2824 pub union USB_HUB_30_PORT_REMOTE_WAKE_MASK
{
2826 pub Anonymous
: USB_HUB_30_PORT_REMOTE_WAKE_MASK_0
,
2828 impl ::core
::marker
::Copy
for USB_HUB_30_PORT_REMOTE_WAKE_MASK {}
2829 impl ::core
::clone
::Clone
for USB_HUB_30_PORT_REMOTE_WAKE_MASK
{
2830 fn clone(&self) -> Self {
2835 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2836 pub struct USB_HUB_30_PORT_REMOTE_WAKE_MASK_0
{
2839 impl ::core
::marker
::Copy
for USB_HUB_30_PORT_REMOTE_WAKE_MASK_0 {}
2840 impl ::core
::clone
::Clone
for USB_HUB_30_PORT_REMOTE_WAKE_MASK_0
{
2841 fn clone(&self) -> Self {
2845 #[repr(C, packed(1))]
2846 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2847 pub union USB_HUB_CHANGE
{
2848 pub AsUshort16
: u16,
2849 pub Anonymous
: USB_HUB_CHANGE_0
,
2851 impl ::core
::marker
::Copy
for USB_HUB_CHANGE {}
2852 impl ::core
::clone
::Clone
for USB_HUB_CHANGE
{
2853 fn clone(&self) -> Self {
2857 #[repr(C, packed(1))]
2858 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2859 pub struct USB_HUB_CHANGE_0
{
2862 impl ::core
::marker
::Copy
for USB_HUB_CHANGE_0 {}
2863 impl ::core
::clone
::Clone
for USB_HUB_CHANGE_0
{
2864 fn clone(&self) -> Self {
2868 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2869 pub const USB_HUB_CYCLE_PORT
: u32 = 273u32;
2870 #[repr(C, packed(1))]
2871 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2872 pub struct USB_HUB_DESCRIPTOR
{
2873 pub bDescriptorLength
: u8,
2874 pub bDescriptorType
: u8,
2875 pub bNumberOfPorts
: u8,
2876 pub wHubCharacteristics
: u16,
2877 pub bPowerOnToPowerGood
: u8,
2878 pub bHubControlCurrent
: u8,
2879 pub bRemoveAndPowerMask
: [u8; 64],
2881 impl ::core
::marker
::Copy
for USB_HUB_DESCRIPTOR {}
2882 impl ::core
::clone
::Clone
for USB_HUB_DESCRIPTOR
{
2883 fn clone(&self) -> Self {
2887 #[repr(C, packed(1))]
2888 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2889 pub union USB_HUB_STATUS
{
2890 pub AsUshort16
: u16,
2891 pub Anonymous
: USB_HUB_STATUS_0
,
2893 impl ::core
::marker
::Copy
for USB_HUB_STATUS {}
2894 impl ::core
::clone
::Clone
for USB_HUB_STATUS
{
2895 fn clone(&self) -> Self {
2899 #[repr(C, packed(1))]
2900 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2901 pub struct USB_HUB_STATUS_0
{
2904 impl ::core
::marker
::Copy
for USB_HUB_STATUS_0 {}
2905 impl ::core
::clone
::Clone
for USB_HUB_STATUS_0
{
2906 fn clone(&self) -> Self {
2910 #[repr(C, packed(1))]
2911 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2912 pub union USB_HUB_STATUS_AND_CHANGE
{
2914 pub Anonymous
: USB_HUB_STATUS_AND_CHANGE_0
,
2916 impl ::core
::marker
::Copy
for USB_HUB_STATUS_AND_CHANGE {}
2917 impl ::core
::clone
::Clone
for USB_HUB_STATUS_AND_CHANGE
{
2918 fn clone(&self) -> Self {
2923 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2924 pub struct USB_HUB_STATUS_AND_CHANGE_0
{
2925 pub HubStatus
: USB_HUB_STATUS
,
2926 pub HubChange
: USB_HUB_CHANGE
,
2928 impl ::core
::marker
::Copy
for USB_HUB_STATUS_AND_CHANGE_0 {}
2929 impl ::core
::clone
::Clone
for USB_HUB_STATUS_AND_CHANGE_0
{
2930 fn clone(&self) -> Self {
2934 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2935 pub type USB_IDLE_CALLBACK
= ::core
::option
::Option
<unsafe extern "system" fn(context
: *const ::core
::ffi
::c_void
)>;
2937 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2938 pub struct USB_IDLE_CALLBACK_INFO
{
2939 pub IdleCallback
: USB_IDLE_CALLBACK
,
2940 pub IdleContext
: *mut ::core
::ffi
::c_void
,
2942 impl ::core
::marker
::Copy
for USB_IDLE_CALLBACK_INFO {}
2943 impl ::core
::clone
::Clone
for USB_IDLE_CALLBACK_INFO
{
2944 fn clone(&self) -> Self {
2948 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2949 pub const USB_IDLE_NOTIFICATION
: u32 = 9u32;
2950 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2951 pub const USB_IDLE_NOTIFICATION_EX
: u32 = 272u32;
2953 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2954 pub struct USB_INTERFACE_ASSOCIATION_DESCRIPTOR
{
2956 pub bDescriptorType
: u8,
2957 pub bFirstInterface
: u8,
2958 pub bInterfaceCount
: u8,
2959 pub bFunctionClass
: u8,
2960 pub bFunctionSubClass
: u8,
2961 pub bFunctionProtocol
: u8,
2964 impl ::core
::marker
::Copy
for USB_INTERFACE_ASSOCIATION_DESCRIPTOR {}
2965 impl ::core
::clone
::Clone
for USB_INTERFACE_ASSOCIATION_DESCRIPTOR
{
2966 fn clone(&self) -> Self {
2970 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2971 pub const USB_INTERFACE_ASSOCIATION_DESCRIPTOR_TYPE
: u32 = 11u32;
2973 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2974 pub struct USB_INTERFACE_DESCRIPTOR
{
2976 pub bDescriptorType
: u8,
2977 pub bInterfaceNumber
: u8,
2978 pub bAlternateSetting
: u8,
2979 pub bNumEndpoints
: u8,
2980 pub bInterfaceClass
: u8,
2981 pub bInterfaceSubClass
: u8,
2982 pub bInterfaceProtocol
: u8,
2985 impl ::core
::marker
::Copy
for USB_INTERFACE_DESCRIPTOR {}
2986 impl ::core
::clone
::Clone
for USB_INTERFACE_DESCRIPTOR
{
2987 fn clone(&self) -> Self {
2991 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2992 pub const USB_INTERFACE_DESCRIPTOR_TYPE
: u32 = 4u32;
2993 #[repr(C, packed(1))]
2994 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2995 pub struct USB_INTERFACE_POWER_DESCRIPTOR
{
2997 pub bDescriptorType
: u8,
2998 pub bmCapabilitiesFlags
: u8,
2999 pub bBusPowerSavingD1
: u8,
3000 pub bSelfPowerSavingD1
: u8,
3001 pub bBusPowerSavingD2
: u8,
3002 pub bSelfPowerSavingD2
: u8,
3003 pub bBusPowerSavingD3
: u8,
3004 pub bSelfPowerSavingD3
: u8,
3005 pub TransitionTimeFromD1
: u16,
3006 pub TransitionTimeFromD2
: u16,
3007 pub TransitionTimeFromD3
: u16,
3009 impl ::core
::marker
::Copy
for USB_INTERFACE_POWER_DESCRIPTOR {}
3010 impl ::core
::clone
::Clone
for USB_INTERFACE_POWER_DESCRIPTOR
{
3011 fn clone(&self) -> Self {
3015 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3016 pub const USB_INTERFACE_POWER_DESCRIPTOR_TYPE
: u32 = 8u32;
3017 #[repr(C, packed(1))]
3018 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3019 pub union USB_INTERFACE_STATUS
{
3020 pub AsUshort16
: u16,
3021 pub Anonymous
: USB_INTERFACE_STATUS_0
,
3023 impl ::core
::marker
::Copy
for USB_INTERFACE_STATUS {}
3024 impl ::core
::clone
::Clone
for USB_INTERFACE_STATUS
{
3025 fn clone(&self) -> Self {
3029 #[repr(C, packed(1))]
3030 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3031 pub struct USB_INTERFACE_STATUS_0
{
3034 impl ::core
::marker
::Copy
for USB_INTERFACE_STATUS_0 {}
3035 impl ::core
::clone
::Clone
for USB_INTERFACE_STATUS_0
{
3036 fn clone(&self) -> Self {
3040 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3041 pub const USB_NOTIFY_ON_TRANSPORT_CHARACTERISTICS_CHANGE
: u32 = 283u32;
3042 #[repr(C, packed(1))]
3043 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3044 pub struct USB_OPEN_RAW_DEVICE_PARAMETERS
{
3045 pub PortStatus
: u16,
3046 pub MaxPacketEp0
: u16,
3048 impl ::core
::marker
::Copy
for USB_OPEN_RAW_DEVICE_PARAMETERS {}
3049 impl ::core
::clone
::Clone
for USB_OPEN_RAW_DEVICE_PARAMETERS
{
3050 fn clone(&self) -> Self {
3054 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3055 pub const USB_OTG_DESCRIPTOR_TYPE
: u32 = 9u32;
3056 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3057 pub const USB_OTHER_SPEED_CONFIGURATION_DESCRIPTOR_TYPE
: u32 = 7u32;
3058 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3059 pub const USB_PACKETFLAG_ASYNC_IN
: u32 = 8u32;
3060 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3061 pub const USB_PACKETFLAG_ASYNC_OUT
: u32 = 16u32;
3062 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3063 pub const USB_PACKETFLAG_FULL_SPEED
: u32 = 2u32;
3064 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3065 pub const USB_PACKETFLAG_HIGH_SPEED
: u32 = 4u32;
3066 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3067 pub const USB_PACKETFLAG_ISO_IN
: u32 = 32u32;
3068 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3069 pub const USB_PACKETFLAG_ISO_OUT
: u32 = 64u32;
3070 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3071 pub const USB_PACKETFLAG_LOW_SPEED
: u32 = 1u32;
3072 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3073 pub const USB_PACKETFLAG_SETUP
: u32 = 128u32;
3074 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3075 pub const USB_PACKETFLAG_TOGGLE0
: u32 = 256u32;
3076 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3077 pub const USB_PACKETFLAG_TOGGLE1
: u32 = 512u32;
3078 #[repr(C, packed(1))]
3079 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3080 pub struct USB_PASS_THRU_PARAMETERS
{
3081 pub FunctionGUID
: ::windows_sys
::core
::GUID
,
3082 pub ParameterLength
: u32,
3083 pub Parameters
: [u8; 4],
3085 impl ::core
::marker
::Copy
for USB_PASS_THRU_PARAMETERS {}
3086 impl ::core
::clone
::Clone
for USB_PASS_THRU_PARAMETERS
{
3087 fn clone(&self) -> Self {
3091 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3092 pub const USB_PORTATTR_MINI_CONNECTOR
: u32 = 4u32;
3093 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3094 pub const USB_PORTATTR_NO_CONNECTOR
: u32 = 1u32;
3095 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3096 pub const USB_PORTATTR_NO_OVERCURRENT_UI
: u32 = 33554432u32;
3097 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3098 pub const USB_PORTATTR_OEM_CONNECTOR
: u32 = 8u32;
3099 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3100 pub const USB_PORTATTR_OWNED_BY_CC
: u32 = 16777216u32;
3101 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3102 pub const USB_PORTATTR_SHARED_USB2
: u32 = 2u32;
3103 #[repr(C, packed(1))]
3104 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3105 pub union USB_PORT_CHANGE
{
3106 pub AsUshort16
: u16,
3107 pub Usb20PortChange
: USB_20_PORT_CHANGE
,
3108 pub Usb30PortChange
: USB_30_PORT_CHANGE
,
3110 impl ::core
::marker
::Copy
for USB_PORT_CHANGE {}
3111 impl ::core
::clone
::Clone
for USB_PORT_CHANGE
{
3112 fn clone(&self) -> Self {
3116 #[repr(C, packed(1))]
3117 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3118 pub union USB_PORT_EXT_STATUS
{
3120 pub Anonymous
: USB_PORT_EXT_STATUS_0
,
3122 impl ::core
::marker
::Copy
for USB_PORT_EXT_STATUS {}
3123 impl ::core
::clone
::Clone
for USB_PORT_EXT_STATUS
{
3124 fn clone(&self) -> Self {
3128 #[repr(C, packed(1))]
3129 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3130 pub struct USB_PORT_EXT_STATUS_0
{
3133 impl ::core
::marker
::Copy
for USB_PORT_EXT_STATUS_0 {}
3134 impl ::core
::clone
::Clone
for USB_PORT_EXT_STATUS_0
{
3135 fn clone(&self) -> Self {
3139 #[repr(C, packed(1))]
3140 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3141 pub union USB_PORT_EXT_STATUS_AND_CHANGE
{
3143 pub Anonymous
: USB_PORT_EXT_STATUS_AND_CHANGE_0
,
3145 impl ::core
::marker
::Copy
for USB_PORT_EXT_STATUS_AND_CHANGE {}
3146 impl ::core
::clone
::Clone
for USB_PORT_EXT_STATUS_AND_CHANGE
{
3147 fn clone(&self) -> Self {
3152 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3153 pub struct USB_PORT_EXT_STATUS_AND_CHANGE_0
{
3154 pub PortStatusChange
: USB_PORT_STATUS_AND_CHANGE
,
3155 pub PortExtStatus
: USB_PORT_EXT_STATUS
,
3157 impl ::core
::marker
::Copy
for USB_PORT_EXT_STATUS_AND_CHANGE_0 {}
3158 impl ::core
::clone
::Clone
for USB_PORT_EXT_STATUS_AND_CHANGE_0
{
3159 fn clone(&self) -> Self {
3163 #[repr(C, packed(1))]
3164 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3165 pub union USB_PORT_STATUS
{
3166 pub AsUshort16
: u16,
3167 pub Usb20PortStatus
: USB_20_PORT_STATUS
,
3168 pub Usb30PortStatus
: USB_30_PORT_STATUS
,
3170 impl ::core
::marker
::Copy
for USB_PORT_STATUS {}
3171 impl ::core
::clone
::Clone
for USB_PORT_STATUS
{
3172 fn clone(&self) -> Self {
3176 #[repr(C, packed(1))]
3177 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3178 pub union USB_PORT_STATUS_AND_CHANGE
{
3180 pub Anonymous
: USB_PORT_STATUS_AND_CHANGE_0
,
3182 impl ::core
::marker
::Copy
for USB_PORT_STATUS_AND_CHANGE {}
3183 impl ::core
::clone
::Clone
for USB_PORT_STATUS_AND_CHANGE
{
3184 fn clone(&self) -> Self {
3189 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3190 pub struct USB_PORT_STATUS_AND_CHANGE_0
{
3191 pub PortStatus
: USB_PORT_STATUS
,
3192 pub PortChange
: USB_PORT_CHANGE
,
3194 impl ::core
::marker
::Copy
for USB_PORT_STATUS_AND_CHANGE_0 {}
3195 impl ::core
::clone
::Clone
for USB_PORT_STATUS_AND_CHANGE_0
{
3196 fn clone(&self) -> Self {
3200 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3201 pub const USB_PORT_STATUS_CONNECT
: u32 = 1u32;
3202 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3203 pub const USB_PORT_STATUS_ENABLE
: u32 = 2u32;
3204 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3205 pub const USB_PORT_STATUS_HIGH_SPEED
: u32 = 1024u32;
3206 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3207 pub const USB_PORT_STATUS_LOW_SPEED
: u32 = 512u32;
3208 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3209 pub const USB_PORT_STATUS_OVER_CURRENT
: u32 = 8u32;
3210 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3211 pub const USB_PORT_STATUS_POWER
: u32 = 256u32;
3212 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3213 pub const USB_PORT_STATUS_RESET
: u32 = 16u32;
3214 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3215 pub const USB_PORT_STATUS_SUSPEND
: u32 = 4u32;
3216 #[repr(C, packed(1))]
3217 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
3218 #[cfg(feature = "Win32_Foundation")]
3219 pub struct USB_POWER_INFO
{
3220 pub SystemState
: WDMUSB_POWER_STATE
,
3221 pub HcDevicePowerState
: WDMUSB_POWER_STATE
,
3222 pub HcDeviceWake
: WDMUSB_POWER_STATE
,
3223 pub HcSystemWake
: WDMUSB_POWER_STATE
,
3224 pub RhDevicePowerState
: WDMUSB_POWER_STATE
,
3225 pub RhDeviceWake
: WDMUSB_POWER_STATE
,
3226 pub RhSystemWake
: WDMUSB_POWER_STATE
,
3227 pub LastSystemSleepState
: WDMUSB_POWER_STATE
,
3228 pub CanWakeup
: super::super::Foundation
::BOOLEAN
,
3229 pub IsPowered
: super::super::Foundation
::BOOLEAN
,
3231 #[cfg(feature = "Win32_Foundation")]
3232 impl ::core
::marker
::Copy
for USB_POWER_INFO {}
3233 #[cfg(feature = "Win32_Foundation")]
3234 impl ::core
::clone
::Clone
for USB_POWER_INFO
{
3235 fn clone(&self) -> Self {
3239 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3240 pub const USB_RECORD_FAILURE
: u32 = 10u32;
3241 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3242 pub const USB_REGISTER_COMPOSITE_DEVICE
: u32 = 0u32;
3243 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3244 pub const USB_REGISTER_FOR_TRANSPORT_BANDWIDTH_CHANGE
: u32 = 2u32;
3245 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3246 pub const USB_REGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE
: u32 = 282u32;
3247 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3248 pub const USB_REGISTER_FOR_TRANSPORT_LATENCY_CHANGE
: u32 = 1u32;
3249 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3250 pub const USB_REQUEST_CLEAR_FEATURE
: u32 = 1u32;
3251 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3252 pub const USB_REQUEST_CLEAR_TT_BUFFER
: u32 = 8u32;
3253 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3254 pub const USB_REQUEST_GET_CONFIGURATION
: u32 = 8u32;
3255 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3256 pub const USB_REQUEST_GET_DESCRIPTOR
: u32 = 6u32;
3257 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3258 pub const USB_REQUEST_GET_FIRMWARE_STATUS
: u32 = 26u32;
3259 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3260 pub const USB_REQUEST_GET_INTERFACE
: u32 = 10u32;
3261 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3262 pub const USB_REQUEST_GET_PORT_ERR_COUNT
: u32 = 13u32;
3263 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3264 pub const USB_REQUEST_GET_STATE
: u32 = 2u32;
3265 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3266 pub const USB_REQUEST_GET_STATUS
: u32 = 0u32;
3267 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3268 pub const USB_REQUEST_GET_TT_STATE
: u32 = 10u32;
3269 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3270 pub const USB_REQUEST_ISOCH_DELAY
: u32 = 49u32;
3271 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3272 pub const USB_REQUEST_REMOTE_WAKE_NOTIFICATION
: u32 = 2u32;
3273 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3274 pub const USB_REQUEST_RESET_TT
: u32 = 9u32;
3275 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3276 pub const USB_REQUEST_SET_ADDRESS
: u32 = 5u32;
3277 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3278 pub const USB_REQUEST_SET_CONFIGURATION
: u32 = 9u32;
3279 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3280 pub const USB_REQUEST_SET_DESCRIPTOR
: u32 = 7u32;
3281 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3282 pub const USB_REQUEST_SET_FEATURE
: u32 = 3u32;
3283 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3284 pub const USB_REQUEST_SET_FIRMWARE_STATUS
: u32 = 27u32;
3285 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3286 pub const USB_REQUEST_SET_HUB_DEPTH
: u32 = 12u32;
3287 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3288 pub const USB_REQUEST_SET_INTERFACE
: u32 = 11u32;
3289 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3290 pub const USB_REQUEST_SET_SEL
: u32 = 48u32;
3291 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3292 pub const USB_REQUEST_STOP_TT
: u32 = 11u32;
3293 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3294 pub const USB_REQUEST_SYNC_FRAME
: u32 = 12u32;
3295 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3296 pub const USB_REQ_GLOBAL_RESUME
: u32 = 274u32;
3297 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3298 pub const USB_REQ_GLOBAL_SUSPEND
: u32 = 273u32;
3299 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3300 pub const USB_RESERVED_DESCRIPTOR_TYPE
: u32 = 6u32;
3301 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3302 pub const USB_RESET_HUB
: u32 = 275u32;
3303 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3304 pub const USB_RESET_PORT
: u32 = 1u32;
3305 #[repr(C, packed(1))]
3306 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3307 pub struct USB_SEND_RAW_COMMAND_PARAMETERS
{
3308 pub Usb_bmRequest
: u8,
3309 pub Usb_bRequest
: u8,
3310 pub Usb_wVlaue
: u16,
3311 pub Usb_wIndex
: u16,
3312 pub Usb_wLength
: u16,
3313 pub DeviceAddress
: u16,
3314 pub MaximumPacketSize
: u16,
3316 pub DataLength
: u32,
3317 pub UsbdStatusCode
: i32,
3320 impl ::core
::marker
::Copy
for USB_SEND_RAW_COMMAND_PARAMETERS {}
3321 impl ::core
::clone
::Clone
for USB_SEND_RAW_COMMAND_PARAMETERS
{
3322 fn clone(&self) -> Self {
3326 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3327 pub const USB_START_TRACKING_FOR_TIME_SYNC
: u32 = 285u32;
3328 #[repr(C, packed(1))]
3329 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
3330 #[cfg(feature = "Win32_Foundation")]
3331 pub struct USB_START_TRACKING_FOR_TIME_SYNC_INFORMATION
{
3332 pub TimeTrackingHandle
: super::super::Foundation
::HANDLE
,
3333 pub IsStartupDelayTolerable
: super::super::Foundation
::BOOLEAN
,
3335 #[cfg(feature = "Win32_Foundation")]
3336 impl ::core
::marker
::Copy
for USB_START_TRACKING_FOR_TIME_SYNC_INFORMATION {}
3337 #[cfg(feature = "Win32_Foundation")]
3338 impl ::core
::clone
::Clone
for USB_START_TRACKING_FOR_TIME_SYNC_INFORMATION
{
3339 fn clone(&self) -> Self {
3343 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3344 pub const USB_STATUS_EXT_PORT_STATUS
: u32 = 2u32;
3345 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3346 pub const USB_STATUS_PD_STATUS
: u32 = 1u32;
3347 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3348 pub const USB_STATUS_PORT_STATUS
: u32 = 0u32;
3349 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3350 pub const USB_STOP_TRACKING_FOR_TIME_SYNC
: u32 = 287u32;
3351 #[repr(C, packed(1))]
3352 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
3353 #[cfg(feature = "Win32_Foundation")]
3354 pub struct USB_STOP_TRACKING_FOR_TIME_SYNC_INFORMATION
{
3355 pub TimeTrackingHandle
: super::super::Foundation
::HANDLE
,
3357 #[cfg(feature = "Win32_Foundation")]
3358 impl ::core
::marker
::Copy
for USB_STOP_TRACKING_FOR_TIME_SYNC_INFORMATION {}
3359 #[cfg(feature = "Win32_Foundation")]
3360 impl ::core
::clone
::Clone
for USB_STOP_TRACKING_FOR_TIME_SYNC_INFORMATION
{
3361 fn clone(&self) -> Self {
3365 #[repr(C, packed(1))]
3366 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3367 pub struct USB_STRING_DESCRIPTOR
{
3369 pub bDescriptorType
: u8,
3370 pub bString
: [u16; 1],
3372 impl ::core
::marker
::Copy
for USB_STRING_DESCRIPTOR {}
3373 impl ::core
::clone
::Clone
for USB_STRING_DESCRIPTOR
{
3374 fn clone(&self) -> Self {
3378 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3379 pub const USB_STRING_DESCRIPTOR_TYPE
: u32 = 3u32;
3380 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3381 pub const USB_SUBMIT_URB
: u32 = 0u32;
3382 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3383 pub const USB_SUPERSPEEDPLUS_ISOCHRONOUS_MAX_BYTESPERINTERVAL
: u32 = 16777215u32;
3384 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3385 pub const USB_SUPERSPEEDPLUS_ISOCHRONOUS_MIN_BYTESPERINTERVAL
: u32 = 49153u32;
3386 #[repr(C, packed(1))]
3387 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3388 pub struct USB_SUPERSPEEDPLUS_ISOCH_ENDPOINT_COMPANION_DESCRIPTOR
{
3390 pub bDescriptorType
: u8,
3392 pub dwBytesPerInterval
: u32,
3394 impl ::core
::marker
::Copy
for USB_SUPERSPEEDPLUS_ISOCH_ENDPOINT_COMPANION_DESCRIPTOR {}
3395 impl ::core
::clone
::Clone
for USB_SUPERSPEEDPLUS_ISOCH_ENDPOINT_COMPANION_DESCRIPTOR
{
3396 fn clone(&self) -> Self {
3400 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3401 pub const USB_SUPERSPEEDPLUS_ISOCH_ENDPOINT_COMPANION_DESCRIPTOR_TYPE
: u32 = 49u32;
3402 #[repr(C, packed(1))]
3403 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3404 pub struct USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR
{
3406 pub bDescriptorType
: u8,
3408 pub bmAttributes
: USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_0
,
3409 pub wBytesPerInterval
: u16,
3411 impl ::core
::marker
::Copy
for USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR {}
3412 impl ::core
::clone
::Clone
for USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR
{
3413 fn clone(&self) -> Self {
3418 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3419 pub union USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_0
{
3421 pub Bulk
: USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_0_0
,
3422 pub Isochronous
: USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_0_1
,
3424 impl ::core
::marker
::Copy
for USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_0 {}
3425 impl ::core
::clone
::Clone
for USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_0
{
3426 fn clone(&self) -> Self {
3431 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3432 pub struct USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_0_0
{
3435 impl ::core
::marker
::Copy
for USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_0_0 {}
3436 impl ::core
::clone
::Clone
for USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_0_0
{
3437 fn clone(&self) -> Self {
3442 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3443 pub struct USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_0_1
{
3446 impl ::core
::marker
::Copy
for USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_0_1 {}
3447 impl ::core
::clone
::Clone
for USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_0_1
{
3448 fn clone(&self) -> Self {
3452 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3453 pub const USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_TYPE
: u32 = 48u32;
3454 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3455 pub const USB_SUPERSPEED_ISOCHRONOUS_MAX_MULTIPLIER
: u32 = 2u32;
3456 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3457 pub const USB_SUPPORT_D0_COMMAND
: u32 = 1u32;
3458 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3459 pub const USB_SUPPORT_D1_COMMAND
: u32 = 2u32;
3460 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3461 pub const USB_SUPPORT_D1_WAKEUP
: u32 = 16u32;
3462 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3463 pub const USB_SUPPORT_D2_COMMAND
: u32 = 4u32;
3464 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3465 pub const USB_SUPPORT_D2_WAKEUP
: u32 = 32u32;
3466 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3467 pub const USB_SUPPORT_D3_COMMAND
: u32 = 8u32;
3468 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3469 pub const USB_TEST_MODE_TEST_FORCE_ENABLE
: u32 = 5u32;
3470 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3471 pub const USB_TEST_MODE_TEST_J
: u32 = 1u32;
3472 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3473 pub const USB_TEST_MODE_TEST_K
: u32 = 2u32;
3474 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3475 pub const USB_TEST_MODE_TEST_PACKET
: u32 = 4u32;
3476 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3477 pub const USB_TEST_MODE_TEST_SE0_NAK
: u32 = 3u32;
3478 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3479 pub const USB_TRANSPORT_CHARACTERISTICS_BANDWIDTH_AVAILABLE
: u32 = 2u32;
3480 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3481 pub const USB_TRANSPORT_CHARACTERISTICS_LATENCY_AVAILABLE
: u32 = 1u32;
3482 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3483 pub const USB_TRANSPORT_CHARACTERISTICS_VERSION_1
: u32 = 1u32;
3484 #[repr(C, packed(1))]
3485 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3486 pub struct USB_UNICODE_NAME
{
3488 pub String
: [u16; 1],
3490 impl ::core
::marker
::Copy
for USB_UNICODE_NAME {}
3491 impl ::core
::clone
::Clone
for USB_UNICODE_NAME
{
3492 fn clone(&self) -> Self {
3496 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3497 pub const USB_UNREGISTER_COMPOSITE_DEVICE
: u32 = 1u32;
3498 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3499 pub const USB_UNREGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE
: u32 = 284u32;
3501 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3502 pub struct USB_USB2HW_VERSION_PARAMETERS
{
3503 pub Usb2HwRevision
: u8,
3505 impl ::core
::marker
::Copy
for USB_USB2HW_VERSION_PARAMETERS {}
3506 impl ::core
::clone
::Clone
for USB_USB2HW_VERSION_PARAMETERS
{
3507 fn clone(&self) -> Self {
3511 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3512 pub type USB_USER_ERROR_CODE
= i32;
3513 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3514 pub const UsbUserSuccess
: USB_USER_ERROR_CODE
= 0i32;
3515 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3516 pub const UsbUserNotSupported
: USB_USER_ERROR_CODE
= 1i32;
3517 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3518 pub const UsbUserInvalidRequestCode
: USB_USER_ERROR_CODE
= 2i32;
3519 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3520 pub const UsbUserFeatureDisabled
: USB_USER_ERROR_CODE
= 3i32;
3521 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3522 pub const UsbUserInvalidHeaderParameter
: USB_USER_ERROR_CODE
= 4i32;
3523 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3524 pub const UsbUserInvalidParameter
: USB_USER_ERROR_CODE
= 5i32;
3525 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3526 pub const UsbUserMiniportError
: USB_USER_ERROR_CODE
= 6i32;
3527 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3528 pub const UsbUserBufferTooSmall
: USB_USER_ERROR_CODE
= 7i32;
3529 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3530 pub const UsbUserErrorNotMapped
: USB_USER_ERROR_CODE
= 8i32;
3531 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3532 pub const UsbUserDeviceNotStarted
: USB_USER_ERROR_CODE
= 9i32;
3533 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3534 pub const UsbUserNoDeviceConnected
: USB_USER_ERROR_CODE
= 10i32;
3535 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3536 pub type WDMUSB_POWER_STATE
= i32;
3537 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3538 pub const WdmUsbPowerNotMapped
: WDMUSB_POWER_STATE
= 0i32;
3539 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3540 pub const WdmUsbPowerSystemUnspecified
: WDMUSB_POWER_STATE
= 100i32;
3541 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3542 pub const WdmUsbPowerSystemWorking
: WDMUSB_POWER_STATE
= 101i32;
3543 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3544 pub const WdmUsbPowerSystemSleeping1
: WDMUSB_POWER_STATE
= 102i32;
3545 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3546 pub const WdmUsbPowerSystemSleeping2
: WDMUSB_POWER_STATE
= 103i32;
3547 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3548 pub const WdmUsbPowerSystemSleeping3
: WDMUSB_POWER_STATE
= 104i32;
3549 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3550 pub const WdmUsbPowerSystemHibernate
: WDMUSB_POWER_STATE
= 105i32;
3551 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3552 pub const WdmUsbPowerSystemShutdown
: WDMUSB_POWER_STATE
= 106i32;
3553 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3554 pub const WdmUsbPowerDeviceUnspecified
: WDMUSB_POWER_STATE
= 200i32;
3555 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3556 pub const WdmUsbPowerDeviceD0
: WDMUSB_POWER_STATE
= 201i32;
3557 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3558 pub const WdmUsbPowerDeviceD1
: WDMUSB_POWER_STATE
= 202i32;
3559 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3560 pub const WdmUsbPowerDeviceD2
: WDMUSB_POWER_STATE
= 203i32;
3561 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3562 pub const WdmUsbPowerDeviceD3
: WDMUSB_POWER_STATE
= 204i32;
3564 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3565 pub struct WINUSB_PIPE_INFORMATION
{
3566 pub PipeType
: USBD_PIPE_TYPE
,
3568 pub MaximumPacketSize
: u16,
3571 impl ::core
::marker
::Copy
for WINUSB_PIPE_INFORMATION {}
3572 impl ::core
::clone
::Clone
for WINUSB_PIPE_INFORMATION
{
3573 fn clone(&self) -> Self {
3578 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3579 pub struct WINUSB_PIPE_INFORMATION_EX
{
3580 pub PipeType
: USBD_PIPE_TYPE
,
3582 pub MaximumPacketSize
: u16,
3584 pub MaximumBytesPerInterval
: u32,
3586 impl ::core
::marker
::Copy
for WINUSB_PIPE_INFORMATION_EX {}
3587 impl ::core
::clone
::Clone
for WINUSB_PIPE_INFORMATION_EX
{
3588 fn clone(&self) -> Self {
3592 #[repr(C, packed(1))]
3593 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3594 pub struct WINUSB_SETUP_PACKET
{
3595 pub RequestType
: u8,
3601 impl ::core
::marker
::Copy
for WINUSB_SETUP_PACKET {}
3602 impl ::core
::clone
::Clone
for WINUSB_SETUP_PACKET
{
3603 fn clone(&self) -> Self {
3607 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3608 pub const WMI_USB_DEVICE_NODE_INFORMATION
: u32 = 2u32;
3609 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3610 pub const WMI_USB_DRIVER_INFORMATION
: u32 = 0u32;
3611 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3612 pub const WMI_USB_DRIVER_NOTIFICATION
: u32 = 1u32;
3613 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3614 pub const WMI_USB_HUB_NODE_INFORMATION
: u32 = 4u32;
3615 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3616 pub const WMI_USB_PERFORMANCE_INFORMATION
: u32 = 1u32;
3617 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3618 pub const WMI_USB_POWER_DEVICE_ENABLE
: u32 = 2u32;
3619 pub const WinUSB_TestGuid
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 3665898495, data2: 4803, data3: 18082, data4: [142, 43, 219, 211, 183, 131, 76, 67] }
;
3621 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3622 pub struct _URB_BULK_OR_INTERRUPT_TRANSFER
{
3623 pub Hdr
: _URB_HEADER
,
3624 pub PipeHandle
: *mut ::core
::ffi
::c_void
,
3625 pub TransferFlags
: u32,
3626 pub TransferBufferLength
: u32,
3627 pub TransferBuffer
: *mut ::core
::ffi
::c_void
,
3628 pub TransferBufferMDL
: *mut ::core
::ffi
::c_void
,
3629 pub UrbLink
: *mut URB
,
3630 pub hca
: _URB_HCD_AREA
,
3632 impl ::core
::marker
::Copy
for _URB_BULK_OR_INTERRUPT_TRANSFER {}
3633 impl ::core
::clone
::Clone
for _URB_BULK_OR_INTERRUPT_TRANSFER
{
3634 fn clone(&self) -> Self {
3639 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3640 pub struct _URB_CONTROL_DESCRIPTOR_REQUEST
{
3641 pub Hdr
: _URB_HEADER
,
3642 pub Reserved
: *mut ::core
::ffi
::c_void
,
3644 pub TransferBufferLength
: u32,
3645 pub TransferBuffer
: *mut ::core
::ffi
::c_void
,
3646 pub TransferBufferMDL
: *mut ::core
::ffi
::c_void
,
3647 pub UrbLink
: *mut URB
,
3648 pub hca
: _URB_HCD_AREA
,
3651 pub DescriptorType
: u8,
3652 pub LanguageId
: u16,
3655 impl ::core
::marker
::Copy
for _URB_CONTROL_DESCRIPTOR_REQUEST {}
3656 impl ::core
::clone
::Clone
for _URB_CONTROL_DESCRIPTOR_REQUEST
{
3657 fn clone(&self) -> Self {
3662 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3663 pub struct _URB_CONTROL_FEATURE_REQUEST
{
3664 pub Hdr
: _URB_HEADER
,
3665 pub Reserved
: *mut ::core
::ffi
::c_void
,
3668 pub Reserved4
: *mut ::core
::ffi
::c_void
,
3669 pub Reserved5
: *mut ::core
::ffi
::c_void
,
3670 pub UrbLink
: *mut URB
,
3671 pub hca
: _URB_HCD_AREA
,
3673 pub FeatureSelector
: u16,
3677 impl ::core
::marker
::Copy
for _URB_CONTROL_FEATURE_REQUEST {}
3678 impl ::core
::clone
::Clone
for _URB_CONTROL_FEATURE_REQUEST
{
3679 fn clone(&self) -> Self {
3684 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3685 pub struct _URB_CONTROL_GET_CONFIGURATION_REQUEST
{
3686 pub Hdr
: _URB_HEADER
,
3687 pub Reserved
: *mut ::core
::ffi
::c_void
,
3689 pub TransferBufferLength
: u32,
3690 pub TransferBuffer
: *mut ::core
::ffi
::c_void
,
3691 pub TransferBufferMDL
: *mut ::core
::ffi
::c_void
,
3692 pub UrbLink
: *mut URB
,
3693 pub hca
: _URB_HCD_AREA
,
3694 pub Reserved1
: [u8; 8],
3696 impl ::core
::marker
::Copy
for _URB_CONTROL_GET_CONFIGURATION_REQUEST {}
3697 impl ::core
::clone
::Clone
for _URB_CONTROL_GET_CONFIGURATION_REQUEST
{
3698 fn clone(&self) -> Self {
3703 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3704 pub struct _URB_CONTROL_GET_INTERFACE_REQUEST
{
3705 pub Hdr
: _URB_HEADER
,
3706 pub Reserved
: *mut ::core
::ffi
::c_void
,
3708 pub TransferBufferLength
: u32,
3709 pub TransferBuffer
: *mut ::core
::ffi
::c_void
,
3710 pub TransferBufferMDL
: *mut ::core
::ffi
::c_void
,
3711 pub UrbLink
: *mut URB
,
3712 pub hca
: _URB_HCD_AREA
,
3713 pub Reserved1
: [u8; 4],
3717 impl ::core
::marker
::Copy
for _URB_CONTROL_GET_INTERFACE_REQUEST {}
3718 impl ::core
::clone
::Clone
for _URB_CONTROL_GET_INTERFACE_REQUEST
{
3719 fn clone(&self) -> Self {
3724 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3725 pub struct _URB_CONTROL_GET_STATUS_REQUEST
{
3726 pub Hdr
: _URB_HEADER
,
3727 pub Reserved
: *mut ::core
::ffi
::c_void
,
3729 pub TransferBufferLength
: u32,
3730 pub TransferBuffer
: *mut ::core
::ffi
::c_void
,
3731 pub TransferBufferMDL
: *mut ::core
::ffi
::c_void
,
3732 pub UrbLink
: *mut URB
,
3733 pub hca
: _URB_HCD_AREA
,
3734 pub Reserved1
: [u8; 4],
3738 impl ::core
::marker
::Copy
for _URB_CONTROL_GET_STATUS_REQUEST {}
3739 impl ::core
::clone
::Clone
for _URB_CONTROL_GET_STATUS_REQUEST
{
3740 fn clone(&self) -> Self {
3745 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3746 pub struct _URB_CONTROL_TRANSFER
{
3747 pub Hdr
: _URB_HEADER
,
3748 pub PipeHandle
: *mut ::core
::ffi
::c_void
,
3749 pub TransferFlags
: u32,
3750 pub TransferBufferLength
: u32,
3751 pub TransferBuffer
: *mut ::core
::ffi
::c_void
,
3752 pub TransferBufferMDL
: *mut ::core
::ffi
::c_void
,
3753 pub UrbLink
: *mut URB
,
3754 pub hca
: _URB_HCD_AREA
,
3755 pub SetupPacket
: [u8; 8],
3757 impl ::core
::marker
::Copy
for _URB_CONTROL_TRANSFER {}
3758 impl ::core
::clone
::Clone
for _URB_CONTROL_TRANSFER
{
3759 fn clone(&self) -> Self {
3764 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3765 pub struct _URB_CONTROL_TRANSFER_EX
{
3766 pub Hdr
: _URB_HEADER
,
3767 pub PipeHandle
: *mut ::core
::ffi
::c_void
,
3768 pub TransferFlags
: u32,
3769 pub TransferBufferLength
: u32,
3770 pub TransferBuffer
: *mut ::core
::ffi
::c_void
,
3771 pub TransferBufferMDL
: *mut ::core
::ffi
::c_void
,
3773 pub hca
: _URB_HCD_AREA
,
3774 pub SetupPacket
: [u8; 8],
3776 impl ::core
::marker
::Copy
for _URB_CONTROL_TRANSFER_EX {}
3777 impl ::core
::clone
::Clone
for _URB_CONTROL_TRANSFER_EX
{
3778 fn clone(&self) -> Self {
3783 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3784 pub struct _URB_CONTROL_VENDOR_OR_CLASS_REQUEST
{
3785 pub Hdr
: _URB_HEADER
,
3786 pub Reserved
: *mut ::core
::ffi
::c_void
,
3787 pub TransferFlags
: u32,
3788 pub TransferBufferLength
: u32,
3789 pub TransferBuffer
: *mut ::core
::ffi
::c_void
,
3790 pub TransferBufferMDL
: *mut ::core
::ffi
::c_void
,
3791 pub UrbLink
: *mut URB
,
3792 pub hca
: _URB_HCD_AREA
,
3793 pub RequestTypeReservedBits
: u8,
3799 impl ::core
::marker
::Copy
for _URB_CONTROL_VENDOR_OR_CLASS_REQUEST {}
3800 impl ::core
::clone
::Clone
for _URB_CONTROL_VENDOR_OR_CLASS_REQUEST
{
3801 fn clone(&self) -> Self {
3806 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3807 pub struct _URB_FRAME_LENGTH_CONTROL
{
3808 pub Hdr
: _URB_HEADER
,
3810 impl ::core
::marker
::Copy
for _URB_FRAME_LENGTH_CONTROL {}
3811 impl ::core
::clone
::Clone
for _URB_FRAME_LENGTH_CONTROL
{
3812 fn clone(&self) -> Self {
3817 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3818 pub struct _URB_GET_CURRENT_FRAME_NUMBER
{
3819 pub Hdr
: _URB_HEADER
,
3820 pub FrameNumber
: u32,
3822 impl ::core
::marker
::Copy
for _URB_GET_CURRENT_FRAME_NUMBER {}
3823 impl ::core
::clone
::Clone
for _URB_GET_CURRENT_FRAME_NUMBER
{
3824 fn clone(&self) -> Self {
3829 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3830 pub struct _URB_GET_FRAME_LENGTH
{
3831 pub Hdr
: _URB_HEADER
,
3832 pub FrameLength
: u32,
3833 pub FrameNumber
: u32,
3835 impl ::core
::marker
::Copy
for _URB_GET_FRAME_LENGTH {}
3836 impl ::core
::clone
::Clone
for _URB_GET_FRAME_LENGTH
{
3837 fn clone(&self) -> Self {
3842 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3843 pub struct _URB_GET_ISOCH_PIPE_TRANSFER_PATH_DELAYS
{
3844 pub Hdr
: _URB_HEADER
,
3845 pub PipeHandle
: *mut ::core
::ffi
::c_void
,
3846 pub MaximumSendPathDelayInMilliSeconds
: u32,
3847 pub MaximumCompletionPathDelayInMilliSeconds
: u32,
3849 impl ::core
::marker
::Copy
for _URB_GET_ISOCH_PIPE_TRANSFER_PATH_DELAYS {}
3850 impl ::core
::clone
::Clone
for _URB_GET_ISOCH_PIPE_TRANSFER_PATH_DELAYS
{
3851 fn clone(&self) -> Self {
3856 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3857 pub struct _URB_HCD_AREA
{
3858 pub Reserved8
: [*mut ::core
::ffi
::c_void
; 8],
3860 impl ::core
::marker
::Copy
for _URB_HCD_AREA {}
3861 impl ::core
::clone
::Clone
for _URB_HCD_AREA
{
3862 fn clone(&self) -> Self {
3867 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3868 pub struct _URB_HEADER
{
3872 pub UsbdDeviceHandle
: *mut ::core
::ffi
::c_void
,
3875 impl ::core
::marker
::Copy
for _URB_HEADER {}
3876 impl ::core
::clone
::Clone
for _URB_HEADER
{
3877 fn clone(&self) -> Self {
3882 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3883 pub struct _URB_ISOCH_TRANSFER
{
3884 pub Hdr
: _URB_HEADER
,
3885 pub PipeHandle
: *mut ::core
::ffi
::c_void
,
3886 pub TransferFlags
: u32,
3887 pub TransferBufferLength
: u32,
3888 pub TransferBuffer
: *mut ::core
::ffi
::c_void
,
3889 pub TransferBufferMDL
: *mut ::core
::ffi
::c_void
,
3890 pub UrbLink
: *mut URB
,
3891 pub hca
: _URB_HCD_AREA
,
3892 pub StartFrame
: u32,
3893 pub NumberOfPackets
: u32,
3894 pub ErrorCount
: u32,
3895 pub IsoPacket
: [USBD_ISO_PACKET_DESCRIPTOR
; 1],
3897 impl ::core
::marker
::Copy
for _URB_ISOCH_TRANSFER {}
3898 impl ::core
::clone
::Clone
for _URB_ISOCH_TRANSFER
{
3899 fn clone(&self) -> Self {
3904 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3905 pub struct _URB_OPEN_STATIC_STREAMS
{
3906 pub Hdr
: _URB_HEADER
,
3907 pub PipeHandle
: *mut ::core
::ffi
::c_void
,
3908 pub NumberOfStreams
: u32,
3909 pub StreamInfoVersion
: u16,
3910 pub StreamInfoSize
: u16,
3911 pub Streams
: *mut USBD_STREAM_INFORMATION
,
3913 impl ::core
::marker
::Copy
for _URB_OPEN_STATIC_STREAMS {}
3914 impl ::core
::clone
::Clone
for _URB_OPEN_STATIC_STREAMS
{
3915 fn clone(&self) -> Self {
3920 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3921 pub struct _URB_OS_FEATURE_DESCRIPTOR_REQUEST
{
3922 pub Hdr
: _URB_HEADER
,
3923 pub Reserved
: *mut ::core
::ffi
::c_void
,
3925 pub TransferBufferLength
: u32,
3926 pub TransferBuffer
: *mut ::core
::ffi
::c_void
,
3927 pub TransferBufferMDL
: *mut ::core
::ffi
::c_void
,
3928 pub UrbLink
: *mut URB
,
3929 pub hca
: _URB_HCD_AREA
,
3932 pub InterfaceNumber
: u8,
3933 pub MS_PageIndex
: u8,
3934 pub MS_FeatureDescriptorIndex
: u16,
3937 impl ::core
::marker
::Copy
for _URB_OS_FEATURE_DESCRIPTOR_REQUEST {}
3938 impl ::core
::clone
::Clone
for _URB_OS_FEATURE_DESCRIPTOR_REQUEST
{
3939 fn clone(&self) -> Self {
3944 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3945 pub struct _URB_PIPE_REQUEST
{
3946 pub Hdr
: _URB_HEADER
,
3947 pub PipeHandle
: *mut ::core
::ffi
::c_void
,
3950 impl ::core
::marker
::Copy
for _URB_PIPE_REQUEST {}
3951 impl ::core
::clone
::Clone
for _URB_PIPE_REQUEST
{
3952 fn clone(&self) -> Self {
3957 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3958 pub struct _URB_SELECT_CONFIGURATION
{
3959 pub Hdr
: _URB_HEADER
,
3960 pub ConfigurationDescriptor
: *mut USB_CONFIGURATION_DESCRIPTOR
,
3961 pub ConfigurationHandle
: *mut ::core
::ffi
::c_void
,
3962 pub Interface
: USBD_INTERFACE_INFORMATION
,
3964 impl ::core
::marker
::Copy
for _URB_SELECT_CONFIGURATION {}
3965 impl ::core
::clone
::Clone
for _URB_SELECT_CONFIGURATION
{
3966 fn clone(&self) -> Self {
3971 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3972 pub struct _URB_SELECT_INTERFACE
{
3973 pub Hdr
: _URB_HEADER
,
3974 pub ConfigurationHandle
: *mut ::core
::ffi
::c_void
,
3975 pub Interface
: USBD_INTERFACE_INFORMATION
,
3977 impl ::core
::marker
::Copy
for _URB_SELECT_INTERFACE {}
3978 impl ::core
::clone
::Clone
for _URB_SELECT_INTERFACE
{
3979 fn clone(&self) -> Self {
3984 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3985 pub struct _URB_SET_FRAME_LENGTH
{
3986 pub Hdr
: _URB_HEADER
,
3987 pub FrameLengthDelta
: i32,
3989 impl ::core
::marker
::Copy
for _URB_SET_FRAME_LENGTH {}
3990 impl ::core
::clone
::Clone
for _URB_SET_FRAME_LENGTH
{
3991 fn clone(&self) -> Self {