]> git.proxmox.com Git - rustc.git/blob - vendor/windows-sys-0.42.0/src/Windows/Win32/Devices/Usb/mod.rs
New upstream version 1.70.0+dfsg1
[rustc.git] / vendor / windows-sys-0.42.0 / src / Windows / Win32 / Devices / Usb / mod.rs
1 #[cfg_attr(windows, link(name = "windows"))]
2 extern "system" {
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;
103 }
104 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
105 pub const ALLOW_PARTIAL_READS: u32 = 5u32;
106 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
107 pub const AUTO_CLEAR_STALL: u32 = 2u32;
108 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
109 pub const AUTO_FLUSH: u32 = 6u32;
110 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
111 pub const AUTO_SUSPEND: u32 = 129u32;
112 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
113 pub const BMREQUEST_CLASS: u32 = 1u32;
114 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
115 pub const BMREQUEST_DEVICE_TO_HOST: u32 = 1u32;
116 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
117 pub const BMREQUEST_HOST_TO_DEVICE: u32 = 0u32;
118 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
119 pub const BMREQUEST_STANDARD: u32 = 0u32;
120 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
121 pub const BMREQUEST_TO_DEVICE: u32 = 0u32;
122 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
123 pub const BMREQUEST_TO_ENDPOINT: u32 = 2u32;
124 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
125 pub const BMREQUEST_TO_INTERFACE: u32 = 1u32;
126 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
127 pub const BMREQUEST_TO_OTHER: u32 = 3u32;
128 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
129 pub const BMREQUEST_VENDOR: u32 = 2u32;
130 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
131 pub const BULKIN_FLAG: u32 = 128u32;
132 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
133 pub const DEVICE_SPEED: u32 = 1u32;
134 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
135 pub const FILE_DEVICE_USB: u32 = 34u32;
136 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
137 pub const FILE_DEVICE_USB_SCAN: u32 = 32768u32;
138 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
139 pub const FullSpeed: u32 = 2u32;
140 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] };
141 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] };
142 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] };
143 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] };
144 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] };
145 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] };
146 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] };
147 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] };
148 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] };
149 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] };
150 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] };
151 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] };
152 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] };
153 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
154 pub const HCD_DIAGNOSTIC_MODE_OFF: u32 = 257u32;
155 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
156 pub const HCD_DIAGNOSTIC_MODE_ON: u32 = 256u32;
157 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
158 pub const HCD_DISABLE_PORT: u32 = 268u32;
159 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
160 pub const HCD_ENABLE_PORT: u32 = 269u32;
161 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
162 pub const HCD_GET_DRIVERKEY_NAME: u32 = 265u32;
163 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
164 pub const HCD_GET_ROOT_HUB_NAME: u32 = 258u32;
165 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
166 pub const HCD_GET_STATS_1: u32 = 255u32;
167 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
168 pub const HCD_GET_STATS_2: u32 = 266u32;
169 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
170 pub const HCD_TRACE_READ_REQUEST: u32 = 275u32;
171 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
172 pub const HCD_USER_REQUEST: u32 = 270u32;
173 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
174 pub const HighSpeed: u32 = 3u32;
175 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
176 pub const IGNORE_SHORT_PACKETS: u32 = 4u32;
177 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
178 pub const IOCTL_ABORT_PIPE: u32 = 2147491844u32;
179 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
180 pub const IOCTL_CANCEL_IO: u32 = 2147491844u32;
181 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
182 pub const IOCTL_GENERICUSBFN_ACTIVATE_USB_BUS: u32 = 2277420u32;
183 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
184 pub const IOCTL_GENERICUSBFN_BUS_EVENT_NOTIFICATION: u32 = 2277430u32;
185 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
186 pub const IOCTL_GENERICUSBFN_CONTROL_STATUS_HANDSHAKE_IN: u32 = 2277400u32;
187 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
188 pub const IOCTL_GENERICUSBFN_CONTROL_STATUS_HANDSHAKE_OUT: u32 = 2277404u32;
189 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
190 pub const IOCTL_GENERICUSBFN_DEACTIVATE_USB_BUS: u32 = 2277424u32;
191 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
192 pub const IOCTL_GENERICUSBFN_GET_CLASS_INFO: u32 = 2277410u32;
193 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
194 pub const IOCTL_GENERICUSBFN_GET_CLASS_INFO_EX: u32 = 2277434u32;
195 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
196 pub const IOCTL_GENERICUSBFN_GET_INTERFACE_DESCRIPTOR_SET: u32 = 2277438u32;
197 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
198 pub const IOCTL_GENERICUSBFN_GET_PIPE_STATE: u32 = 2277414u32;
199 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
200 pub const IOCTL_GENERICUSBFN_REGISTER_USB_STRING: u32 = 2277441u32;
201 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
202 pub const IOCTL_GENERICUSBFN_SET_PIPE_STATE: u32 = 2277417u32;
203 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
204 pub const IOCTL_GENERICUSBFN_TRANSFER_IN: u32 = 2277389u32;
205 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
206 pub const IOCTL_GENERICUSBFN_TRANSFER_IN_APPEND_ZERO_PKT: u32 = 2277393u32;
207 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
208 pub const IOCTL_GENERICUSBFN_TRANSFER_OUT: u32 = 2277398u32;
209 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
210 pub const IOCTL_GET_CHANNEL_ALIGN_RQST: u32 = 2147491860u32;
211 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
212 pub const IOCTL_GET_DEVICE_DESCRIPTOR: u32 = 2147491864u32;
213 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
214 pub const IOCTL_GET_HCD_DRIVERKEY_NAME: u32 = 2229284u32;
215 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
216 pub const IOCTL_GET_PIPE_CONFIGURATION: u32 = 2147491880u32;
217 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
218 pub const IOCTL_GET_USB_DESCRIPTOR: u32 = 2147491872u32;
219 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
220 pub const IOCTL_GET_VERSION: u32 = 2147491840u32;
221 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
222 pub const IOCTL_INDEX: u32 = 2048u32;
223 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
224 pub const IOCTL_INTERNAL_USB_CYCLE_PORT: u32 = 2228255u32;
225 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
226 pub const IOCTL_INTERNAL_USB_ENABLE_PORT: u32 = 2228247u32;
227 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
228 pub const IOCTL_INTERNAL_USB_FAIL_GET_STATUS_FROM_DEVICE: u32 = 2229347u32;
229 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
230 pub const IOCTL_INTERNAL_USB_GET_BUSGUID_INFO: u32 = 2229288u32;
231 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
232 pub const IOCTL_INTERNAL_USB_GET_BUS_INFO: u32 = 2229280u32;
233 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
234 pub const IOCTL_INTERNAL_USB_GET_CONTROLLER_NAME: u32 = 2229284u32;
235 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
236 pub const IOCTL_INTERNAL_USB_GET_DEVICE_CONFIG_INFO: u32 = 2229327u32;
237 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
238 pub const IOCTL_INTERNAL_USB_GET_DEVICE_HANDLE: u32 = 2229299u32;
239 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
240 pub const IOCTL_INTERNAL_USB_GET_DEVICE_HANDLE_EX: u32 = 2229303u32;
241 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
242 pub const IOCTL_INTERNAL_USB_GET_HUB_COUNT: u32 = 2228251u32;
243 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
244 pub const IOCTL_INTERNAL_USB_GET_HUB_NAME: u32 = 2228256u32;
245 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
246 pub const IOCTL_INTERNAL_USB_GET_PARENT_HUB_INFO: u32 = 2229292u32;
247 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
248 pub const IOCTL_INTERNAL_USB_GET_PORT_STATUS: u32 = 2228243u32;
249 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
250 pub const IOCTL_INTERNAL_USB_GET_ROOTHUB_PDO: u32 = 2228239u32;
251 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
252 pub const IOCTL_INTERNAL_USB_GET_TOPOLOGY_ADDRESS: u32 = 2229311u32;
253 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
254 pub const IOCTL_INTERNAL_USB_GET_TT_DEVICE_HANDLE: u32 = 2229307u32;
255 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
256 pub const IOCTL_INTERNAL_USB_NOTIFY_IDLE_READY: u32 = 2229315u32;
257 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
258 pub const IOCTL_INTERNAL_USB_RECORD_FAILURE: u32 = 2228267u32;
259 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
260 pub const IOCTL_INTERNAL_USB_REGISTER_COMPOSITE_DEVICE: u32 = 4784131u32;
261 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
262 pub const IOCTL_INTERNAL_USB_REQUEST_REMOTE_WAKE_NOTIFICATION: u32 = 4784139u32;
263 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
264 pub const IOCTL_INTERNAL_USB_REQ_GLOBAL_RESUME: u32 = 2229323u32;
265 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
266 pub const IOCTL_INTERNAL_USB_REQ_GLOBAL_SUSPEND: u32 = 2229319u32;
267 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
268 pub const IOCTL_INTERNAL_USB_RESET_PORT: u32 = 2228231u32;
269 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
270 pub const IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION: u32 = 2228263u32;
271 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
272 pub const IOCTL_INTERNAL_USB_SUBMIT_URB: u32 = 2228227u32;
273 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
274 pub const IOCTL_INTERNAL_USB_UNREGISTER_COMPOSITE_DEVICE: u32 = 4784135u32;
275 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
276 pub const IOCTL_READ_REGISTERS: u32 = 2147491852u32;
277 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
278 pub const IOCTL_RESET_PIPE: u32 = 2147491868u32;
279 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
280 pub const IOCTL_SEND_USB_REQUEST: u32 = 2147491876u32;
281 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
282 pub const IOCTL_SET_TIMEOUT: u32 = 2147491884u32;
283 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
284 pub const IOCTL_USB_DIAGNOSTIC_MODE_OFF: u32 = 2229252u32;
285 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
286 pub const IOCTL_USB_DIAGNOSTIC_MODE_ON: u32 = 2229248u32;
287 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
288 pub const IOCTL_USB_DIAG_IGNORE_HUBS_OFF: u32 = 2229276u32;
289 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
290 pub const IOCTL_USB_DIAG_IGNORE_HUBS_ON: u32 = 2229272u32;
291 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
292 pub const IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION: u32 = 2229264u32;
293 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
294 pub const IOCTL_USB_GET_DEVICE_CHARACTERISTICS: u32 = 2229376u32;
295 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
296 pub const IOCTL_USB_GET_FRAME_NUMBER_AND_QPC_FOR_TIME_SYNC: u32 = 2229368u32;
297 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
298 pub const IOCTL_USB_GET_HUB_CAPABILITIES: u32 = 2229308u32;
299 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
300 pub const IOCTL_USB_GET_HUB_CAPABILITIES_EX: u32 = 2229328u32;
301 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
302 pub const IOCTL_USB_GET_HUB_INFORMATION_EX: u32 = 2229332u32;
303 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
304 pub const IOCTL_USB_GET_NODE_CONNECTION_ATTRIBUTES: u32 = 2229312u32;
305 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
306 pub const IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME: u32 = 2229280u32;
307 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
308 pub const IOCTL_USB_GET_NODE_CONNECTION_INFORMATION: u32 = 2229260u32;
309 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
310 pub const IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX: u32 = 2229320u32;
311 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
312 pub const IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_V2: u32 = 2229340u32;
313 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
314 pub const IOCTL_USB_GET_NODE_CONNECTION_NAME: u32 = 2229268u32;
315 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
316 pub const IOCTL_USB_GET_NODE_INFORMATION: u32 = 2229256u32;
317 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
318 pub const IOCTL_USB_GET_PORT_CONNECTOR_PROPERTIES: u32 = 2229336u32;
319 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
320 pub const IOCTL_USB_GET_ROOT_HUB_NAME: u32 = 2229256u32;
321 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
322 pub const IOCTL_USB_GET_TRANSPORT_CHARACTERISTICS: u32 = 2229348u32;
323 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
324 pub const IOCTL_USB_HCD_DISABLE_PORT: u32 = 2229296u32;
325 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
326 pub const IOCTL_USB_HCD_ENABLE_PORT: u32 = 2229300u32;
327 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
328 pub const IOCTL_USB_HCD_GET_STATS_1: u32 = 2229244u32;
329 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
330 pub const IOCTL_USB_HCD_GET_STATS_2: u32 = 2229288u32;
331 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
332 pub const IOCTL_USB_HUB_CYCLE_PORT: u32 = 2229316u32;
333 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
334 pub const IOCTL_USB_NOTIFY_ON_TRANSPORT_CHARACTERISTICS_CHANGE: u32 = 2229356u32;
335 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
336 pub const IOCTL_USB_REGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE: u32 = 2229352u32;
337 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
338 pub const IOCTL_USB_RESET_HUB: u32 = 2229324u32;
339 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
340 pub const IOCTL_USB_START_TRACKING_FOR_TIME_SYNC: u32 = 2229364u32;
341 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
342 pub const IOCTL_USB_STOP_TRACKING_FOR_TIME_SYNC: u32 = 2229372u32;
343 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
344 pub const IOCTL_USB_UNREGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE: u32 = 2229360u32;
345 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
346 pub const IOCTL_WAIT_ON_DEVICE_EVENT: u32 = 2147491848u32;
347 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
348 pub const IOCTL_WRITE_REGISTERS: u32 = 2147491856u32;
349 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
350 pub const KREGMANUSBFNENUMPATH: &str = "\\Registry\\Machine\\SYSTEM\\CurrentControlSet\\Control\\ManufacturingMode\\Current\\USBFN\\";
351 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
352 pub const KREGUSBFNENUMPATH: &str = "\\Registry\\Machine\\SYSTEM\\CurrentControlSet\\Control\\USBFN\\";
353 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
354 pub const LowSpeed: u32 = 1u32;
355 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
356 pub const MAXIMUM_TRANSFER_SIZE: u32 = 8u32;
357 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
358 pub const MAXIMUM_USB_STRING_LENGTH: u32 = 255u32;
359 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
360 pub const MAX_ALTERNATE_NAME_LENGTH: u32 = 40u32;
361 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
362 pub const MAX_ASSOCIATION_NAME_LENGTH: u32 = 40u32;
363 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
364 pub const MAX_CONFIGURATION_NAME_LENGTH: u32 = 40u32;
365 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
366 pub const MAX_INTERFACE_NAME_LENGTH: u32 = 40u32;
367 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
368 pub const MAX_NUM_PIPES: u32 = 8u32;
369 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
370 pub const MAX_NUM_USBFN_ENDPOINTS: u32 = 15u32;
371 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
372 pub const MAX_SUPPORTED_CONFIGURATIONS: u32 = 12u32;
373 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
374 pub const MAX_USB_STRING_LENGTH: u32 = 255u32;
375 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
376 pub const MS_GENRE_DESCRIPTOR_INDEX: u32 = 1u32;
377 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
378 pub const MS_OS_FLAGS_CONTAINERID: u32 = 2u32;
379 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
380 pub const MS_OS_STRING_SIGNATURE: &str = "MSFT100";
381 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
382 pub const MS_POWER_DESCRIPTOR_INDEX: u32 = 2u32;
383 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
384 pub const OS_STRING_DESCRIPTOR_INDEX: u32 = 238u32;
385 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
386 pub const PIPE_TRANSFER_TIMEOUT: u32 = 3u32;
387 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
388 pub const PORT_LINK_STATE_COMPLIANCE_MODE: u32 = 10u32;
389 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
390 pub const PORT_LINK_STATE_DISABLED: u32 = 4u32;
391 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
392 pub const PORT_LINK_STATE_HOT_RESET: u32 = 9u32;
393 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
394 pub const PORT_LINK_STATE_INACTIVE: u32 = 6u32;
395 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
396 pub const PORT_LINK_STATE_LOOPBACK: u32 = 11u32;
397 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
398 pub const PORT_LINK_STATE_POLLING: u32 = 7u32;
399 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
400 pub const PORT_LINK_STATE_RECOVERY: u32 = 8u32;
401 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
402 pub const PORT_LINK_STATE_RX_DETECT: u32 = 5u32;
403 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
404 pub const PORT_LINK_STATE_TEST_MODE: u32 = 11u32;
405 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
406 pub const PORT_LINK_STATE_U0: u32 = 0u32;
407 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
408 pub const PORT_LINK_STATE_U1: u32 = 1u32;
409 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
410 pub const PORT_LINK_STATE_U2: u32 = 2u32;
411 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
412 pub const PORT_LINK_STATE_U3: u32 = 3u32;
413 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
414 pub const RAW_IO: u32 = 7u32;
415 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
416 pub const RESET_PIPE_ON_RESUME: u32 = 9u32;
417 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
418 pub const SHORT_PACKET_TERMINATE: u32 = 1u32;
419 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
420 pub const SUSPEND_DELAY: u32 = 131u32;
421 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
422 pub const URB_FUNCTION_ABORT_PIPE: u32 = 2u32;
423 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
424 pub const URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER: u32 = 9u32;
425 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
426 pub const URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER_USING_CHAINED_MDL: u32 = 55u32;
427 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
428 pub const URB_FUNCTION_CLASS_DEVICE: u32 = 26u32;
429 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
430 pub const URB_FUNCTION_CLASS_ENDPOINT: u32 = 28u32;
431 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
432 pub const URB_FUNCTION_CLASS_INTERFACE: u32 = 27u32;
433 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
434 pub const URB_FUNCTION_CLASS_OTHER: u32 = 31u32;
435 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
436 pub const URB_FUNCTION_CLEAR_FEATURE_TO_DEVICE: u32 = 16u32;
437 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
438 pub const URB_FUNCTION_CLEAR_FEATURE_TO_ENDPOINT: u32 = 18u32;
439 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
440 pub const URB_FUNCTION_CLEAR_FEATURE_TO_INTERFACE: u32 = 17u32;
441 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
442 pub const URB_FUNCTION_CLEAR_FEATURE_TO_OTHER: u32 = 34u32;
443 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
444 pub const URB_FUNCTION_CLOSE_STATIC_STREAMS: u32 = 54u32;
445 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
446 pub const URB_FUNCTION_CONTROL_TRANSFER: u32 = 8u32;
447 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
448 pub const URB_FUNCTION_CONTROL_TRANSFER_EX: u32 = 50u32;
449 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
450 pub const URB_FUNCTION_GET_CONFIGURATION: u32 = 38u32;
451 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
452 pub const URB_FUNCTION_GET_CURRENT_FRAME_NUMBER: u32 = 7u32;
453 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
454 pub const URB_FUNCTION_GET_DESCRIPTOR_FROM_DEVICE: u32 = 11u32;
455 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
456 pub const URB_FUNCTION_GET_DESCRIPTOR_FROM_ENDPOINT: u32 = 36u32;
457 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
458 pub const URB_FUNCTION_GET_DESCRIPTOR_FROM_INTERFACE: u32 = 40u32;
459 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
460 pub const URB_FUNCTION_GET_FRAME_LENGTH: u32 = 5u32;
461 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
462 pub const URB_FUNCTION_GET_INTERFACE: u32 = 39u32;
463 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
464 pub const URB_FUNCTION_GET_ISOCH_PIPE_TRANSFER_PATH_DELAYS: u32 = 61u32;
465 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
466 pub const URB_FUNCTION_GET_MS_FEATURE_DESCRIPTOR: u32 = 42u32;
467 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
468 pub const URB_FUNCTION_GET_STATUS_FROM_DEVICE: u32 = 19u32;
469 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
470 pub const URB_FUNCTION_GET_STATUS_FROM_ENDPOINT: u32 = 21u32;
471 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
472 pub const URB_FUNCTION_GET_STATUS_FROM_INTERFACE: u32 = 20u32;
473 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
474 pub const URB_FUNCTION_GET_STATUS_FROM_OTHER: u32 = 33u32;
475 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
476 pub const URB_FUNCTION_ISOCH_TRANSFER: u32 = 10u32;
477 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
478 pub const URB_FUNCTION_ISOCH_TRANSFER_USING_CHAINED_MDL: u32 = 56u32;
479 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
480 pub const URB_FUNCTION_OPEN_STATIC_STREAMS: u32 = 53u32;
481 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
482 pub const URB_FUNCTION_RELEASE_FRAME_LENGTH_CONTROL: u32 = 4u32;
483 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
484 pub const URB_FUNCTION_RESERVED_0X0016: u32 = 22u32;
485 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
486 pub const URB_FUNCTION_RESERVE_0X001D: u32 = 29u32;
487 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
488 pub const URB_FUNCTION_RESERVE_0X002B: u32 = 43u32;
489 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
490 pub const URB_FUNCTION_RESERVE_0X002C: u32 = 44u32;
491 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
492 pub const URB_FUNCTION_RESERVE_0X002D: u32 = 45u32;
493 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
494 pub const URB_FUNCTION_RESERVE_0X002E: u32 = 46u32;
495 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
496 pub const URB_FUNCTION_RESERVE_0X002F: u32 = 47u32;
497 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
498 pub const URB_FUNCTION_RESERVE_0X0033: u32 = 51u32;
499 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
500 pub const URB_FUNCTION_RESERVE_0X0034: u32 = 52u32;
501 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
502 pub const URB_FUNCTION_RESET_PIPE: u32 = 30u32;
503 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
504 pub const URB_FUNCTION_SELECT_CONFIGURATION: u32 = 0u32;
505 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
506 pub const URB_FUNCTION_SELECT_INTERFACE: u32 = 1u32;
507 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
508 pub const URB_FUNCTION_SET_DESCRIPTOR_TO_DEVICE: u32 = 12u32;
509 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
510 pub const URB_FUNCTION_SET_DESCRIPTOR_TO_ENDPOINT: u32 = 37u32;
511 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
512 pub const URB_FUNCTION_SET_DESCRIPTOR_TO_INTERFACE: u32 = 41u32;
513 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
514 pub const URB_FUNCTION_SET_FEATURE_TO_DEVICE: u32 = 13u32;
515 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
516 pub const URB_FUNCTION_SET_FEATURE_TO_ENDPOINT: u32 = 15u32;
517 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
518 pub const URB_FUNCTION_SET_FEATURE_TO_INTERFACE: u32 = 14u32;
519 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
520 pub const URB_FUNCTION_SET_FEATURE_TO_OTHER: u32 = 35u32;
521 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
522 pub const URB_FUNCTION_SET_FRAME_LENGTH: u32 = 6u32;
523 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
524 pub const URB_FUNCTION_SYNC_CLEAR_STALL: u32 = 49u32;
525 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
526 pub const URB_FUNCTION_SYNC_RESET_PIPE: u32 = 48u32;
527 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
528 pub const URB_FUNCTION_SYNC_RESET_PIPE_AND_CLEAR_STALL: u32 = 30u32;
529 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
530 pub const URB_FUNCTION_TAKE_FRAME_LENGTH_CONTROL: u32 = 3u32;
531 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
532 pub const URB_FUNCTION_VENDOR_DEVICE: u32 = 23u32;
533 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
534 pub const URB_FUNCTION_VENDOR_ENDPOINT: u32 = 25u32;
535 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
536 pub const URB_FUNCTION_VENDOR_INTERFACE: u32 = 24u32;
537 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
538 pub const URB_FUNCTION_VENDOR_OTHER: u32 = 32u32;
539 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
540 pub const URB_OPEN_STATIC_STREAMS_VERSION_100: u32 = 256u32;
541 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
542 pub const UREGMANUSBFNENUMPATH: &str = "HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\ManufacturingMode\\Current\\USBFN\\";
543 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
544 pub const UREGUSBFNENUMPATH: &str = "HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Control\\USBFN\\";
545 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
546 pub const USBDI_VERSION: u32 = 1536u32;
547 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
548 pub const USBD_DEFAULT_MAXIMUM_TRANSFER_SIZE: u32 = 4294967295u32;
549 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
550 pub const USBD_DEFAULT_PIPE_TRANSFER: u32 = 8u32;
551 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
552 pub const USBD_ISO_START_FRAME_RANGE: u32 = 1024u32;
553 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
554 pub const USBD_PF_CHANGE_MAX_PACKET: u32 = 1u32;
555 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
556 pub const USBD_PF_ENABLE_RT_THREAD_ACCESS: u32 = 4u32;
557 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
558 pub const USBD_PF_HANDLES_SSP_HIGH_BANDWIDTH_ISOCH: u32 = 256u32;
559 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
560 pub const USBD_PF_INTERACTIVE_PRIORITY: u32 = 48u32;
561 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
562 pub const USBD_PF_MAP_ADD_TRANSFERS: u32 = 8u32;
563 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
564 pub const USBD_PF_PRIORITY_MASK: u32 = 240u32;
565 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
566 pub const USBD_PF_SHORT_PACKET_OPT: u32 = 2u32;
567 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
568 pub const USBD_PF_SSP_HIGH_BANDWIDTH_ISOCH: u32 = 65536u32;
569 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
570 pub const USBD_PF_VIDEO_PRIORITY: u32 = 16u32;
571 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
572 pub const USBD_PF_VOICE_PRIORITY: u32 = 32u32;
573 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
574 pub const USBD_PORT_CONNECTED: u32 = 2u32;
575 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
576 pub const USBD_PORT_ENABLED: u32 = 1u32;
577 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
578 pub const USBD_SHORT_TRANSFER_OK: u32 = 2u32;
579 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
580 pub const USBD_START_ISO_TRANSFER_ASAP: u32 = 4u32;
581 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
582 pub const USBD_TRANSFER_DIRECTION: u32 = 1u32;
583 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
584 pub const USBD_TRANSFER_DIRECTION_IN: u32 = 1u32;
585 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
586 pub const USBD_TRANSFER_DIRECTION_OUT: u32 = 0u32;
587 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
588 pub const USBFN_INTERRUPT_ENDPOINT_SIZE_NOT_UPDATEABLE_MASK: u32 = 128u32;
589 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
590 pub const USBUSER_CLEAR_ROOTPORT_FEATURE: u32 = 536870918u32;
591 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
592 pub const USBUSER_GET_BANDWIDTH_INFORMATION: u32 = 5u32;
593 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
594 pub const USBUSER_GET_BUS_STATISTICS_0: u32 = 6u32;
595 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
596 pub const USBUSER_GET_CONTROLLER_DRIVER_KEY: u32 = 2u32;
597 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
598 pub const USBUSER_GET_CONTROLLER_INFO_0: u32 = 1u32;
599 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
600 pub const USBUSER_GET_POWER_STATE_MAP: u32 = 4u32;
601 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
602 pub const USBUSER_GET_ROOTHUB_SYMBOLIC_NAME: u32 = 7u32;
603 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
604 pub const USBUSER_GET_ROOTPORT_STATUS: u32 = 536870919u32;
605 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
606 pub const USBUSER_GET_USB2_HW_VERSION: u32 = 9u32;
607 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
608 pub const USBUSER_GET_USB_DRIVER_VERSION: u32 = 8u32;
609 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
610 pub const USBUSER_INVALID_REQUEST: u32 = 4294967280u32;
611 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
612 pub const USBUSER_OP_CLOSE_RAW_DEVICE: u32 = 536870915u32;
613 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
614 pub const USBUSER_OP_MASK_DEVONLY_API: u32 = 268435456u32;
615 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
616 pub const USBUSER_OP_MASK_HCTEST_API: u32 = 536870912u32;
617 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
618 pub const USBUSER_OP_OPEN_RAW_DEVICE: u32 = 536870914u32;
619 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
620 pub const USBUSER_OP_RAW_RESET_PORT: u32 = 536870913u32;
621 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
622 pub const USBUSER_OP_SEND_ONE_PACKET: u32 = 268435457u32;
623 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
624 pub const USBUSER_OP_SEND_RAW_COMMAND: u32 = 536870916u32;
625 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
626 pub const USBUSER_PASS_THRU: u32 = 3u32;
627 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
628 pub const USBUSER_SET_ROOTPORT_FEATURE: u32 = 536870917u32;
629 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
630 pub const USBUSER_USB_REFRESH_HCT_REG: u32 = 10u32;
631 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
632 pub const USBUSER_VERSION: u32 = 4u32;
633 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
634 pub const USB_20_ENDPOINT_TYPE_INTERRUPT_RESERVED_MASK: u32 = 252u32;
635 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
636 pub const USB_20_HUB_DESCRIPTOR_TYPE: u32 = 41u32;
637 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
638 pub const USB_30_ENDPOINT_TYPE_INTERRUPT_RESERVED_MASK: u32 = 204u32;
639 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
640 pub const USB_30_ENDPOINT_TYPE_INTERRUPT_USAGE_MASK: u32 = 48u32;
641 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
642 pub const USB_30_ENDPOINT_TYPE_INTERRUPT_USAGE_NOTIFICATION: u32 = 16u32;
643 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
644 pub const USB_30_ENDPOINT_TYPE_INTERRUPT_USAGE_PERIODIC: u32 = 0u32;
645 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
646 pub const USB_30_ENDPOINT_TYPE_INTERRUPT_USAGE_RESERVED10: u32 = 32u32;
647 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
648 pub const USB_30_ENDPOINT_TYPE_INTERRUPT_USAGE_RESERVED11: u32 = 48u32;
649 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
650 pub const USB_30_HUB_DESCRIPTOR_TYPE: u32 = 42u32;
651 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
652 pub const USB_ALLOW_FIRMWARE_UPDATE: u32 = 1u32;
653 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
654 pub const USB_BOS_DESCRIPTOR_TYPE: u32 = 15u32;
655 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
656 pub const USB_CHARGING_POLICY_DEFAULT: u32 = 0u32;
657 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
658 pub const USB_CHARGING_POLICY_ICCHPF: u32 = 1u32;
659 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
660 pub const USB_CHARGING_POLICY_ICCLPF: u32 = 2u32;
661 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
662 pub const USB_CHARGING_POLICY_NO_POWER: u32 = 3u32;
663 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
664 pub const USB_CONFIGURATION_DESCRIPTOR_TYPE: u32 = 2u32;
665 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
666 pub const USB_CONFIG_BUS_POWERED: u32 = 128u32;
667 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
668 pub const USB_CONFIG_POWERED_MASK: u32 = 192u32;
669 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
670 pub const USB_CONFIG_POWER_DESCRIPTOR_TYPE: u32 = 7u32;
671 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
672 pub const USB_CONFIG_REMOTE_WAKEUP: u32 = 32u32;
673 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
674 pub const USB_CONFIG_RESERVED: u32 = 31u32;
675 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
676 pub const USB_CONFIG_SELF_POWERED: u32 = 64u32;
677 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
678 pub const USB_CYCLE_PORT: u32 = 7u32;
679 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
680 pub const USB_DEBUG_DESCRIPTOR_TYPE: u32 = 10u32;
681 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
682 pub const USB_DEFAULT_DEVICE_ADDRESS: u32 = 0u32;
683 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
684 pub const USB_DEFAULT_ENDPOINT_ADDRESS: u32 = 0u32;
685 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
686 pub const USB_DEFAULT_MAX_PACKET: u32 = 64u32;
687 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
688 pub const USB_DEVICE_CAPABILITY_BATTERY_INFO: u32 = 7u32;
689 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
690 pub const USB_DEVICE_CAPABILITY_BILLBOARD: u32 = 13u32;
691 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
692 pub const USB_DEVICE_CAPABILITY_CONTAINER_ID: u32 = 4u32;
693 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
694 pub const USB_DEVICE_CAPABILITY_DESCRIPTOR_TYPE: u32 = 16u32;
695 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
696 pub const USB_DEVICE_CAPABILITY_FIRMWARE_STATUS: u32 = 17u32;
697 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
698 pub const USB_DEVICE_CAPABILITY_MAX_U1_LATENCY: u32 = 10u32;
699 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
700 pub const USB_DEVICE_CAPABILITY_MAX_U2_LATENCY: u32 = 2047u32;
701 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
702 pub const USB_DEVICE_CAPABILITY_PD_CONSUMER_PORT: u32 = 8u32;
703 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
704 pub const USB_DEVICE_CAPABILITY_PD_PROVIDER_PORT: u32 = 9u32;
705 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
706 pub const USB_DEVICE_CAPABILITY_PLATFORM: u32 = 5u32;
707 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
708 pub const USB_DEVICE_CAPABILITY_POWER_DELIVERY: u32 = 6u32;
709 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
710 pub const USB_DEVICE_CAPABILITY_PRECISION_TIME_MEASUREMENT: u32 = 11u32;
711 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
712 pub const USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_DIR_RX: u32 = 0u32;
713 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
714 pub const USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_DIR_TX: u32 = 1u32;
715 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
716 pub const USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_LSE_BPS: u32 = 0u32;
717 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
718 pub const USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_LSE_GBPS: u32 = 3u32;
719 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
720 pub const USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_LSE_KBPS: u32 = 1u32;
721 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
722 pub const USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_LSE_MBPS: u32 = 2u32;
723 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
724 pub const USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_MODE_ASYMMETRIC: u32 = 1u32;
725 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
726 pub const USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_MODE_SYMMETRIC: u32 = 0u32;
727 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
728 pub const USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_PROTOCOL_SS: u32 = 0u32;
729 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
730 pub const USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_PROTOCOL_SSP: u32 = 1u32;
731 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
732 pub const USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB: u32 = 10u32;
733 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
734 pub const USB_DEVICE_CAPABILITY_SUPERSPEED_BMATTRIBUTES_LTM_CAPABLE: u32 = 2u32;
735 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
736 pub const USB_DEVICE_CAPABILITY_SUPERSPEED_BMATTRIBUTES_RESERVED_MASK: u32 = 253u32;
737 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
738 pub const USB_DEVICE_CAPABILITY_SUPERSPEED_SPEEDS_SUPPORTED_FULL: u32 = 2u32;
739 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
740 pub const USB_DEVICE_CAPABILITY_SUPERSPEED_SPEEDS_SUPPORTED_HIGH: u32 = 4u32;
741 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
742 pub const USB_DEVICE_CAPABILITY_SUPERSPEED_SPEEDS_SUPPORTED_LOW: u32 = 1u32;
743 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
744 pub const USB_DEVICE_CAPABILITY_SUPERSPEED_SPEEDS_SUPPORTED_RESERVED_MASK: u32 = 65520u32;
745 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
746 pub const USB_DEVICE_CAPABILITY_SUPERSPEED_SPEEDS_SUPPORTED_SUPER: u32 = 8u32;
747 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
748 pub const USB_DEVICE_CAPABILITY_SUPERSPEED_U1_DEVICE_EXIT_MAX_VALUE: u32 = 10u32;
749 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
750 pub const USB_DEVICE_CAPABILITY_SUPERSPEED_U2_DEVICE_EXIT_MAX_VALUE: u32 = 2047u32;
751 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
752 pub const USB_DEVICE_CAPABILITY_SUPERSPEED_USB: u32 = 3u32;
753 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
754 pub const USB_DEVICE_CAPABILITY_USB20_EXTENSION: u32 = 2u32;
755 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
756 pub const USB_DEVICE_CAPABILITY_USB20_EXTENSION_BMATTRIBUTES_RESERVED_MASK: u32 = 4294901985u32;
757 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
758 pub const USB_DEVICE_CAPABILITY_WIRELESS_USB: u32 = 1u32;
759 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
760 pub const USB_DEVICE_CHARACTERISTICS_MAXIMUM_PATH_DELAYS_AVAILABLE: u32 = 1u32;
761 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
762 pub const USB_DEVICE_CHARACTERISTICS_VERSION_1: u32 = 1u32;
763 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
764 pub const USB_DEVICE_CLASS_APPLICATION_SPECIFIC: u32 = 254u32;
765 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
766 pub const USB_DEVICE_CLASS_AUDIO: u32 = 1u32;
767 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
768 pub const USB_DEVICE_CLASS_AUDIO_VIDEO: u32 = 16u32;
769 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
770 pub const USB_DEVICE_CLASS_BILLBOARD: u32 = 17u32;
771 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
772 pub const USB_DEVICE_CLASS_CDC_DATA: u32 = 10u32;
773 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
774 pub const USB_DEVICE_CLASS_COMMUNICATIONS: u32 = 2u32;
775 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
776 pub const USB_DEVICE_CLASS_CONTENT_SECURITY: u32 = 13u32;
777 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
778 pub const USB_DEVICE_CLASS_DIAGNOSTIC_DEVICE: u32 = 220u32;
779 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
780 pub const USB_DEVICE_CLASS_HUB: u32 = 9u32;
781 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
782 pub const USB_DEVICE_CLASS_HUMAN_INTERFACE: u32 = 3u32;
783 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
784 pub const USB_DEVICE_CLASS_IMAGE: u32 = 6u32;
785 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
786 pub const USB_DEVICE_CLASS_MISCELLANEOUS: u32 = 239u32;
787 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
788 pub const USB_DEVICE_CLASS_MONITOR: u32 = 4u32;
789 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
790 pub const USB_DEVICE_CLASS_PERSONAL_HEALTHCARE: u32 = 15u32;
791 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
792 pub const USB_DEVICE_CLASS_PHYSICAL_INTERFACE: u32 = 5u32;
793 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
794 pub const USB_DEVICE_CLASS_POWER: u32 = 6u32;
795 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
796 pub const USB_DEVICE_CLASS_PRINTER: u32 = 7u32;
797 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
798 pub const USB_DEVICE_CLASS_RESERVED: u32 = 0u32;
799 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
800 pub const USB_DEVICE_CLASS_SMART_CARD: u32 = 11u32;
801 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
802 pub const USB_DEVICE_CLASS_STORAGE: u32 = 8u32;
803 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
804 pub const USB_DEVICE_CLASS_VENDOR_SPECIFIC: u32 = 255u32;
805 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
806 pub const USB_DEVICE_CLASS_VIDEO: u32 = 14u32;
807 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
808 pub const USB_DEVICE_CLASS_WIRELESS_CONTROLLER: u32 = 224u32;
809 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
810 pub const USB_DEVICE_DESCRIPTOR_TYPE: u32 = 1u32;
811 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
812 pub const USB_DEVICE_FIRMWARE_HASH_LENGTH: u32 = 32u32;
813 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
814 pub const USB_DEVICE_QUALIFIER_DESCRIPTOR_TYPE: u32 = 6u32;
815 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
816 pub const USB_DIAG_IGNORE_HUBS_OFF: u32 = 263u32;
817 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
818 pub const USB_DIAG_IGNORE_HUBS_ON: u32 = 262u32;
819 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
820 pub const USB_DISALLOW_FIRMWARE_UPDATE: u32 = 0u32;
821 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
822 pub const USB_ENABLE_PORT: u32 = 5u32;
823 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
824 pub const USB_ENDPOINT_ADDRESS_MASK: u32 = 15u32;
825 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
826 pub const USB_ENDPOINT_DESCRIPTOR_TYPE: u32 = 5u32;
827 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
828 pub const USB_ENDPOINT_DIRECTION_MASK: u32 = 128u32;
829 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
830 pub const USB_ENDPOINT_SUPERSPEED_BULK_MAX_PACKET_SIZE: u32 = 1024u32;
831 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
832 pub const USB_ENDPOINT_SUPERSPEED_CONTROL_MAX_PACKET_SIZE: u32 = 512u32;
833 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
834 pub const USB_ENDPOINT_SUPERSPEED_INTERRUPT_MAX_PACKET_SIZE: u32 = 1024u32;
835 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
836 pub const USB_ENDPOINT_SUPERSPEED_ISO_MAX_PACKET_SIZE: u32 = 1024u32;
837 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
838 pub const USB_ENDPOINT_TYPE_BULK: u32 = 2u32;
839 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
840 pub const USB_ENDPOINT_TYPE_BULK_RESERVED_MASK: u32 = 252u32;
841 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
842 pub const USB_ENDPOINT_TYPE_CONTROL: u32 = 0u32;
843 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
844 pub const USB_ENDPOINT_TYPE_CONTROL_RESERVED_MASK: u32 = 252u32;
845 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
846 pub const USB_ENDPOINT_TYPE_INTERRUPT: u32 = 3u32;
847 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
848 pub const USB_ENDPOINT_TYPE_ISOCHRONOUS: u32 = 1u32;
849 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
850 pub const USB_ENDPOINT_TYPE_ISOCHRONOUS_RESERVED_MASK: u32 = 192u32;
851 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
852 pub const USB_ENDPOINT_TYPE_ISOCHRONOUS_SYNCHRONIZATION_ADAPTIVE: u32 = 8u32;
853 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
854 pub const USB_ENDPOINT_TYPE_ISOCHRONOUS_SYNCHRONIZATION_ASYNCHRONOUS: u32 = 4u32;
855 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
856 pub const USB_ENDPOINT_TYPE_ISOCHRONOUS_SYNCHRONIZATION_MASK: u32 = 12u32;
857 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
858 pub const USB_ENDPOINT_TYPE_ISOCHRONOUS_SYNCHRONIZATION_NO_SYNCHRONIZATION: u32 = 0u32;
859 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
860 pub const USB_ENDPOINT_TYPE_ISOCHRONOUS_SYNCHRONIZATION_SYNCHRONOUS: u32 = 12u32;
861 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
862 pub const USB_ENDPOINT_TYPE_ISOCHRONOUS_USAGE_DATA_ENDOINT: u32 = 0u32;
863 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
864 pub const USB_ENDPOINT_TYPE_ISOCHRONOUS_USAGE_FEEDBACK_ENDPOINT: u32 = 16u32;
865 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
866 pub const USB_ENDPOINT_TYPE_ISOCHRONOUS_USAGE_IMPLICIT_FEEDBACK_DATA_ENDPOINT: u32 = 32u32;
867 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
868 pub const USB_ENDPOINT_TYPE_ISOCHRONOUS_USAGE_MASK: u32 = 48u32;
869 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
870 pub const USB_ENDPOINT_TYPE_ISOCHRONOUS_USAGE_RESERVED: u32 = 48u32;
871 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
872 pub const USB_ENDPOINT_TYPE_MASK: u32 = 3u32;
873 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
874 pub const USB_FAIL_GET_STATUS: u32 = 280u32;
875 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
876 pub const USB_FEATURE_BATTERY_WAKE_MASK: u32 = 40u32;
877 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
878 pub const USB_FEATURE_CHARGING_POLICY: u32 = 54u32;
879 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
880 pub const USB_FEATURE_ENDPOINT_STALL: u32 = 0u32;
881 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
882 pub const USB_FEATURE_FUNCTION_SUSPEND: u32 = 0u32;
883 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
884 pub const USB_FEATURE_INTERFACE_POWER_D0: u32 = 2u32;
885 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
886 pub const USB_FEATURE_INTERFACE_POWER_D1: u32 = 3u32;
887 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
888 pub const USB_FEATURE_INTERFACE_POWER_D2: u32 = 4u32;
889 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
890 pub const USB_FEATURE_INTERFACE_POWER_D3: u32 = 5u32;
891 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
892 pub const USB_FEATURE_LDM_ENABLE: u32 = 53u32;
893 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
894 pub const USB_FEATURE_LTM_ENABLE: u32 = 50u32;
895 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
896 pub const USB_FEATURE_OS_IS_PD_AWARE: u32 = 41u32;
897 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
898 pub const USB_FEATURE_POLICY_MODE: u32 = 42u32;
899 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
900 pub const USB_FEATURE_REMOTE_WAKEUP: u32 = 1u32;
901 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
902 pub const USB_FEATURE_TEST_MODE: u32 = 2u32;
903 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
904 pub const USB_FEATURE_U1_ENABLE: u32 = 48u32;
905 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
906 pub const USB_FEATURE_U2_ENABLE: u32 = 49u32;
907 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
908 pub const USB_GETSTATUS_LTM_ENABLE: u32 = 16u32;
909 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
910 pub const USB_GETSTATUS_REMOTE_WAKEUP_ENABLED: u32 = 2u32;
911 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
912 pub const USB_GETSTATUS_SELF_POWERED: u32 = 1u32;
913 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
914 pub const USB_GETSTATUS_U1_ENABLE: u32 = 4u32;
915 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
916 pub const USB_GETSTATUS_U2_ENABLE: u32 = 8u32;
917 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
918 pub const USB_GET_BUSGUID_INFO: u32 = 266u32;
919 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
920 pub const USB_GET_BUS_INFO: u32 = 264u32;
921 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
922 pub const USB_GET_CONTROLLER_NAME: u32 = 265u32;
923 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
924 pub const USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION: u32 = 260u32;
925 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
926 pub const USB_GET_DEVICE_CHARACTERISTICS: u32 = 288u32;
927 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
928 pub const USB_GET_DEVICE_HANDLE: u32 = 268u32;
929 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
930 pub const USB_GET_DEVICE_HANDLE_EX: u32 = 269u32;
931 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
932 pub const USB_GET_FIRMWARE_ALLOWED_OR_DISALLOWED_STATE: u32 = 0u32;
933 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
934 pub const USB_GET_FIRMWARE_HASH: u32 = 1u32;
935 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
936 pub const USB_GET_FRAME_NUMBER_AND_QPC_FOR_TIME_SYNC: u32 = 286u32;
937 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
938 pub const USB_GET_HUB_CAPABILITIES: u32 = 271u32;
939 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
940 pub const USB_GET_HUB_CAPABILITIES_EX: u32 = 276u32;
941 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
942 pub const USB_GET_HUB_CONFIG_INFO: u32 = 275u32;
943 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
944 pub const USB_GET_HUB_COUNT: u32 = 6u32;
945 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
946 pub const USB_GET_HUB_INFORMATION_EX: u32 = 277u32;
947 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
948 pub const USB_GET_HUB_NAME: u32 = 8u32;
949 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
950 pub const USB_GET_NODE_CONNECTION_ATTRIBUTES: u32 = 272u32;
951 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
952 pub const USB_GET_NODE_CONNECTION_DRIVERKEY_NAME: u32 = 264u32;
953 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
954 pub const USB_GET_NODE_CONNECTION_INFORMATION: u32 = 259u32;
955 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
956 pub const USB_GET_NODE_CONNECTION_INFORMATION_EX: u32 = 274u32;
957 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
958 pub const USB_GET_NODE_CONNECTION_INFORMATION_EX_V2: u32 = 279u32;
959 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
960 pub const USB_GET_NODE_CONNECTION_NAME: u32 = 261u32;
961 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
962 pub const USB_GET_NODE_INFORMATION: u32 = 258u32;
963 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
964 pub const USB_GET_PARENT_HUB_INFO: u32 = 267u32;
965 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
966 pub const USB_GET_PORT_CONNECTOR_PROPERTIES: u32 = 278u32;
967 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
968 pub const USB_GET_PORT_STATUS: u32 = 4u32;
969 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
970 pub const USB_GET_ROOTHUB_PDO: u32 = 3u32;
971 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
972 pub const USB_GET_TOPOLOGY_ADDRESS: u32 = 271u32;
973 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
974 pub const USB_GET_TRANSPORT_CHARACTERISTICS: u32 = 281u32;
975 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
976 pub const USB_GET_TT_DEVICE_HANDLE: u32 = 270u32;
977 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
978 pub const USB_HC_FEATURE_FLAG_PORT_POWER_SWITCHING: u32 = 1u32;
979 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
980 pub const USB_HC_FEATURE_FLAG_SEL_SUSPEND: u32 = 2u32;
981 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
982 pub const USB_HC_FEATURE_LEGACY_BIOS: u32 = 4u32;
983 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
984 pub const USB_HC_FEATURE_TIME_SYNC_API: u32 = 8u32;
985 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
986 pub const USB_HUB_CYCLE_PORT: u32 = 273u32;
987 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
988 pub const USB_IDLE_NOTIFICATION: u32 = 9u32;
989 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
990 pub const USB_IDLE_NOTIFICATION_EX: u32 = 272u32;
991 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
992 pub const USB_INTERFACE_ASSOCIATION_DESCRIPTOR_TYPE: u32 = 11u32;
993 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
994 pub const USB_INTERFACE_DESCRIPTOR_TYPE: u32 = 4u32;
995 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
996 pub const USB_INTERFACE_POWER_DESCRIPTOR_TYPE: u32 = 8u32;
997 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
998 pub const USB_NOTIFY_ON_TRANSPORT_CHARACTERISTICS_CHANGE: u32 = 283u32;
999 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1000 pub const USB_OTG_DESCRIPTOR_TYPE: u32 = 9u32;
1001 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1002 pub const USB_OTHER_SPEED_CONFIGURATION_DESCRIPTOR_TYPE: u32 = 7u32;
1003 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1004 pub const USB_PACKETFLAG_ASYNC_IN: u32 = 8u32;
1005 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1006 pub const USB_PACKETFLAG_ASYNC_OUT: u32 = 16u32;
1007 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1008 pub const USB_PACKETFLAG_FULL_SPEED: u32 = 2u32;
1009 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1010 pub const USB_PACKETFLAG_HIGH_SPEED: u32 = 4u32;
1011 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1012 pub const USB_PACKETFLAG_ISO_IN: u32 = 32u32;
1013 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1014 pub const USB_PACKETFLAG_ISO_OUT: u32 = 64u32;
1015 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1016 pub const USB_PACKETFLAG_LOW_SPEED: u32 = 1u32;
1017 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1018 pub const USB_PACKETFLAG_SETUP: u32 = 128u32;
1019 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1020 pub const USB_PACKETFLAG_TOGGLE0: u32 = 256u32;
1021 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1022 pub const USB_PACKETFLAG_TOGGLE1: u32 = 512u32;
1023 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1024 pub const USB_PORTATTR_MINI_CONNECTOR: u32 = 4u32;
1025 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1026 pub const USB_PORTATTR_NO_CONNECTOR: u32 = 1u32;
1027 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1028 pub const USB_PORTATTR_NO_OVERCURRENT_UI: u32 = 33554432u32;
1029 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1030 pub const USB_PORTATTR_OEM_CONNECTOR: u32 = 8u32;
1031 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1032 pub const USB_PORTATTR_OWNED_BY_CC: u32 = 16777216u32;
1033 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1034 pub const USB_PORTATTR_SHARED_USB2: u32 = 2u32;
1035 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1036 pub const USB_PORT_STATUS_CONNECT: u32 = 1u32;
1037 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1038 pub const USB_PORT_STATUS_ENABLE: u32 = 2u32;
1039 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1040 pub const USB_PORT_STATUS_HIGH_SPEED: u32 = 1024u32;
1041 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1042 pub const USB_PORT_STATUS_LOW_SPEED: u32 = 512u32;
1043 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1044 pub const USB_PORT_STATUS_OVER_CURRENT: u32 = 8u32;
1045 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1046 pub const USB_PORT_STATUS_POWER: u32 = 256u32;
1047 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1048 pub const USB_PORT_STATUS_RESET: u32 = 16u32;
1049 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1050 pub const USB_PORT_STATUS_SUSPEND: u32 = 4u32;
1051 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1052 pub const USB_RECORD_FAILURE: u32 = 10u32;
1053 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1054 pub const USB_REGISTER_COMPOSITE_DEVICE: u32 = 0u32;
1055 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1056 pub const USB_REGISTER_FOR_TRANSPORT_BANDWIDTH_CHANGE: u32 = 2u32;
1057 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1058 pub const USB_REGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE: u32 = 282u32;
1059 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1060 pub const USB_REGISTER_FOR_TRANSPORT_LATENCY_CHANGE: u32 = 1u32;
1061 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1062 pub const USB_REQUEST_CLEAR_FEATURE: u32 = 1u32;
1063 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1064 pub const USB_REQUEST_CLEAR_TT_BUFFER: u32 = 8u32;
1065 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1066 pub const USB_REQUEST_GET_CONFIGURATION: u32 = 8u32;
1067 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1068 pub const USB_REQUEST_GET_DESCRIPTOR: u32 = 6u32;
1069 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1070 pub const USB_REQUEST_GET_FIRMWARE_STATUS: u32 = 26u32;
1071 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1072 pub const USB_REQUEST_GET_INTERFACE: u32 = 10u32;
1073 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1074 pub const USB_REQUEST_GET_PORT_ERR_COUNT: u32 = 13u32;
1075 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1076 pub const USB_REQUEST_GET_STATE: u32 = 2u32;
1077 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1078 pub const USB_REQUEST_GET_STATUS: u32 = 0u32;
1079 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1080 pub const USB_REQUEST_GET_TT_STATE: u32 = 10u32;
1081 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1082 pub const USB_REQUEST_ISOCH_DELAY: u32 = 49u32;
1083 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1084 pub const USB_REQUEST_REMOTE_WAKE_NOTIFICATION: u32 = 2u32;
1085 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1086 pub const USB_REQUEST_RESET_TT: u32 = 9u32;
1087 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1088 pub const USB_REQUEST_SET_ADDRESS: u32 = 5u32;
1089 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1090 pub const USB_REQUEST_SET_CONFIGURATION: u32 = 9u32;
1091 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1092 pub const USB_REQUEST_SET_DESCRIPTOR: u32 = 7u32;
1093 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1094 pub const USB_REQUEST_SET_FEATURE: u32 = 3u32;
1095 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1096 pub const USB_REQUEST_SET_FIRMWARE_STATUS: u32 = 27u32;
1097 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1098 pub const USB_REQUEST_SET_HUB_DEPTH: u32 = 12u32;
1099 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1100 pub const USB_REQUEST_SET_INTERFACE: u32 = 11u32;
1101 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1102 pub const USB_REQUEST_SET_SEL: u32 = 48u32;
1103 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1104 pub const USB_REQUEST_STOP_TT: u32 = 11u32;
1105 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1106 pub const USB_REQUEST_SYNC_FRAME: u32 = 12u32;
1107 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1108 pub const USB_REQ_GLOBAL_RESUME: u32 = 274u32;
1109 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1110 pub const USB_REQ_GLOBAL_SUSPEND: u32 = 273u32;
1111 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1112 pub const USB_RESERVED_DESCRIPTOR_TYPE: u32 = 6u32;
1113 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1114 pub const USB_RESET_HUB: u32 = 275u32;
1115 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1116 pub const USB_RESET_PORT: u32 = 1u32;
1117 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1118 pub const USB_START_TRACKING_FOR_TIME_SYNC: u32 = 285u32;
1119 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1120 pub const USB_STATUS_EXT_PORT_STATUS: u32 = 2u32;
1121 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1122 pub const USB_STATUS_PD_STATUS: u32 = 1u32;
1123 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1124 pub const USB_STATUS_PORT_STATUS: u32 = 0u32;
1125 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1126 pub const USB_STOP_TRACKING_FOR_TIME_SYNC: u32 = 287u32;
1127 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1128 pub const USB_STRING_DESCRIPTOR_TYPE: u32 = 3u32;
1129 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1130 pub const USB_SUBMIT_URB: u32 = 0u32;
1131 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1132 pub const USB_SUPERSPEEDPLUS_ISOCHRONOUS_MAX_BYTESPERINTERVAL: u32 = 16777215u32;
1133 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1134 pub const USB_SUPERSPEEDPLUS_ISOCHRONOUS_MIN_BYTESPERINTERVAL: u32 = 49153u32;
1135 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1136 pub const USB_SUPERSPEEDPLUS_ISOCH_ENDPOINT_COMPANION_DESCRIPTOR_TYPE: u32 = 49u32;
1137 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1138 pub const USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_TYPE: u32 = 48u32;
1139 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1140 pub const USB_SUPERSPEED_ISOCHRONOUS_MAX_MULTIPLIER: u32 = 2u32;
1141 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1142 pub const USB_SUPPORT_D0_COMMAND: u32 = 1u32;
1143 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1144 pub const USB_SUPPORT_D1_COMMAND: u32 = 2u32;
1145 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1146 pub const USB_SUPPORT_D1_WAKEUP: u32 = 16u32;
1147 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1148 pub const USB_SUPPORT_D2_COMMAND: u32 = 4u32;
1149 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1150 pub const USB_SUPPORT_D2_WAKEUP: u32 = 32u32;
1151 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1152 pub const USB_SUPPORT_D3_COMMAND: u32 = 8u32;
1153 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1154 pub const USB_TEST_MODE_TEST_FORCE_ENABLE: u32 = 5u32;
1155 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1156 pub const USB_TEST_MODE_TEST_J: u32 = 1u32;
1157 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1158 pub const USB_TEST_MODE_TEST_K: u32 = 2u32;
1159 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1160 pub const USB_TEST_MODE_TEST_PACKET: u32 = 4u32;
1161 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1162 pub const USB_TEST_MODE_TEST_SE0_NAK: u32 = 3u32;
1163 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1164 pub const USB_TRANSPORT_CHARACTERISTICS_BANDWIDTH_AVAILABLE: u32 = 2u32;
1165 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1166 pub const USB_TRANSPORT_CHARACTERISTICS_LATENCY_AVAILABLE: u32 = 1u32;
1167 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1168 pub const USB_TRANSPORT_CHARACTERISTICS_VERSION_1: u32 = 1u32;
1169 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1170 pub const USB_UNREGISTER_COMPOSITE_DEVICE: u32 = 1u32;
1171 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1172 pub const USB_UNREGISTER_FOR_TRANSPORT_CHARACTERISTICS_CHANGE: u32 = 284u32;
1173 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1174 pub const WMI_USB_DEVICE_NODE_INFORMATION: u32 = 2u32;
1175 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1176 pub const WMI_USB_DRIVER_INFORMATION: u32 = 0u32;
1177 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1178 pub const WMI_USB_DRIVER_NOTIFICATION: u32 = 1u32;
1179 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1180 pub const WMI_USB_HUB_NODE_INFORMATION: u32 = 4u32;
1181 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1182 pub const WMI_USB_PERFORMANCE_INFORMATION: u32 = 1u32;
1183 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1184 pub const WMI_USB_POWER_DEVICE_ENABLE: u32 = 2u32;
1185 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] };
1186 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1187 pub type PIPE_TYPE = i32;
1188 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1189 pub const EVENT_PIPE: PIPE_TYPE = 0i32;
1190 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1191 pub const READ_DATA_PIPE: PIPE_TYPE = 1i32;
1192 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1193 pub const WRITE_DATA_PIPE: PIPE_TYPE = 2i32;
1194 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1195 pub const ALL_PIPE: PIPE_TYPE = 3i32;
1196 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1197 pub type RAW_PIPE_TYPE = i32;
1198 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1199 pub const USBSCAN_PIPE_CONTROL: RAW_PIPE_TYPE = 0i32;
1200 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1201 pub const USBSCAN_PIPE_ISOCHRONOUS: RAW_PIPE_TYPE = 1i32;
1202 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1203 pub const USBSCAN_PIPE_BULK: RAW_PIPE_TYPE = 2i32;
1204 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1205 pub const USBSCAN_PIPE_INTERRUPT: RAW_PIPE_TYPE = 3i32;
1206 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1207 pub type USBD_ENDPOINT_OFFLOAD_MODE = i32;
1208 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1209 pub const UsbdEndpointOffloadModeNotSupported: USBD_ENDPOINT_OFFLOAD_MODE = 0i32;
1210 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1211 pub const UsbdEndpointOffloadSoftwareAssisted: USBD_ENDPOINT_OFFLOAD_MODE = 1i32;
1212 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1213 pub const UsbdEndpointOffloadHardwareAssisted: USBD_ENDPOINT_OFFLOAD_MODE = 2i32;
1214 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1215 pub type USBD_PIPE_TYPE = i32;
1216 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1217 pub const UsbdPipeTypeControl: USBD_PIPE_TYPE = 0i32;
1218 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1219 pub const UsbdPipeTypeIsochronous: USBD_PIPE_TYPE = 1i32;
1220 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1221 pub const UsbdPipeTypeBulk: USBD_PIPE_TYPE = 2i32;
1222 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1223 pub const UsbdPipeTypeInterrupt: USBD_PIPE_TYPE = 3i32;
1224 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1225 pub type USBFN_BUS_SPEED = i32;
1226 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1227 pub const UsbfnBusSpeedLow: USBFN_BUS_SPEED = 0i32;
1228 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1229 pub const UsbfnBusSpeedFull: USBFN_BUS_SPEED = 1i32;
1230 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1231 pub const UsbfnBusSpeedHigh: USBFN_BUS_SPEED = 2i32;
1232 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1233 pub const UsbfnBusSpeedSuper: USBFN_BUS_SPEED = 3i32;
1234 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1235 pub const UsbfnBusSpeedMaximum: USBFN_BUS_SPEED = 4i32;
1236 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1237 pub type USBFN_DEVICE_STATE = i32;
1238 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1239 pub const UsbfnDeviceStateMinimum: USBFN_DEVICE_STATE = 0i32;
1240 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1241 pub const UsbfnDeviceStateAttached: USBFN_DEVICE_STATE = 1i32;
1242 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1243 pub const UsbfnDeviceStateDefault: USBFN_DEVICE_STATE = 2i32;
1244 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1245 pub const UsbfnDeviceStateDetached: USBFN_DEVICE_STATE = 3i32;
1246 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1247 pub const UsbfnDeviceStateAddressed: USBFN_DEVICE_STATE = 4i32;
1248 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1249 pub const UsbfnDeviceStateConfigured: USBFN_DEVICE_STATE = 5i32;
1250 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1251 pub const UsbfnDeviceStateSuspended: USBFN_DEVICE_STATE = 6i32;
1252 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1253 pub const UsbfnDeviceStateStateMaximum: USBFN_DEVICE_STATE = 7i32;
1254 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1255 pub type USBFN_DIRECTION = i32;
1256 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1257 pub const UsbfnDirectionMinimum: USBFN_DIRECTION = 0i32;
1258 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1259 pub const UsbfnDirectionIn: USBFN_DIRECTION = 1i32;
1260 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1261 pub const UsbfnDirectionOut: USBFN_DIRECTION = 2i32;
1262 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1263 pub const UsbfnDirectionTx: USBFN_DIRECTION = 1i32;
1264 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1265 pub const UsbfnDirectionRx: USBFN_DIRECTION = 2i32;
1266 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1267 pub const UsbfnDirectionMaximum: USBFN_DIRECTION = 3i32;
1268 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1269 pub type USBFN_EVENT = i32;
1270 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1271 pub const UsbfnEventMinimum: USBFN_EVENT = 0i32;
1272 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1273 pub const UsbfnEventAttach: USBFN_EVENT = 1i32;
1274 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1275 pub const UsbfnEventReset: USBFN_EVENT = 2i32;
1276 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1277 pub const UsbfnEventDetach: USBFN_EVENT = 3i32;
1278 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1279 pub const UsbfnEventSuspend: USBFN_EVENT = 4i32;
1280 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1281 pub const UsbfnEventResume: USBFN_EVENT = 5i32;
1282 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1283 pub const UsbfnEventSetupPacket: USBFN_EVENT = 6i32;
1284 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1285 pub const UsbfnEventConfigured: USBFN_EVENT = 7i32;
1286 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1287 pub const UsbfnEventUnConfigured: USBFN_EVENT = 8i32;
1288 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1289 pub const UsbfnEventPortType: USBFN_EVENT = 9i32;
1290 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1291 pub const UsbfnEventBusTearDown: USBFN_EVENT = 10i32;
1292 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1293 pub const UsbfnEventSetInterface: USBFN_EVENT = 11i32;
1294 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1295 pub const UsbfnEventMaximum: USBFN_EVENT = 12i32;
1296 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1297 pub type USBFN_PORT_TYPE = i32;
1298 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1299 pub const UsbfnUnknownPort: USBFN_PORT_TYPE = 0i32;
1300 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1301 pub const UsbfnStandardDownstreamPort: USBFN_PORT_TYPE = 1i32;
1302 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1303 pub const UsbfnChargingDownstreamPort: USBFN_PORT_TYPE = 2i32;
1304 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1305 pub const UsbfnDedicatedChargingPort: USBFN_PORT_TYPE = 3i32;
1306 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1307 pub const UsbfnInvalidDedicatedChargingPort: USBFN_PORT_TYPE = 4i32;
1308 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1309 pub const UsbfnProprietaryDedicatedChargingPort: USBFN_PORT_TYPE = 5i32;
1310 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1311 pub const UsbfnPortTypeMaximum: USBFN_PORT_TYPE = 6i32;
1312 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1313 pub type USB_CONTROLLER_FLAVOR = i32;
1314 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1315 pub const USB_HcGeneric: USB_CONTROLLER_FLAVOR = 0i32;
1316 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1317 pub const OHCI_Generic: USB_CONTROLLER_FLAVOR = 100i32;
1318 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1319 pub const OHCI_Hydra: USB_CONTROLLER_FLAVOR = 101i32;
1320 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1321 pub const OHCI_NEC: USB_CONTROLLER_FLAVOR = 102i32;
1322 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1323 pub const UHCI_Generic: USB_CONTROLLER_FLAVOR = 200i32;
1324 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1325 pub const UHCI_Piix4: USB_CONTROLLER_FLAVOR = 201i32;
1326 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1327 pub const UHCI_Piix3: USB_CONTROLLER_FLAVOR = 202i32;
1328 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1329 pub const UHCI_Ich2: USB_CONTROLLER_FLAVOR = 203i32;
1330 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1331 pub const UHCI_Reserved204: USB_CONTROLLER_FLAVOR = 204i32;
1332 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1333 pub const UHCI_Ich1: USB_CONTROLLER_FLAVOR = 205i32;
1334 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1335 pub const UHCI_Ich3m: USB_CONTROLLER_FLAVOR = 206i32;
1336 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1337 pub const UHCI_Ich4: USB_CONTROLLER_FLAVOR = 207i32;
1338 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1339 pub const UHCI_Ich5: USB_CONTROLLER_FLAVOR = 208i32;
1340 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1341 pub const UHCI_Ich6: USB_CONTROLLER_FLAVOR = 209i32;
1342 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1343 pub const UHCI_Intel: USB_CONTROLLER_FLAVOR = 249i32;
1344 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1345 pub const UHCI_VIA: USB_CONTROLLER_FLAVOR = 250i32;
1346 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1347 pub const UHCI_VIA_x01: USB_CONTROLLER_FLAVOR = 251i32;
1348 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1349 pub const UHCI_VIA_x02: USB_CONTROLLER_FLAVOR = 252i32;
1350 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1351 pub const UHCI_VIA_x03: USB_CONTROLLER_FLAVOR = 253i32;
1352 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1353 pub const UHCI_VIA_x04: USB_CONTROLLER_FLAVOR = 254i32;
1354 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1355 pub const UHCI_VIA_x0E_FIFO: USB_CONTROLLER_FLAVOR = 264i32;
1356 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1357 pub const EHCI_Generic: USB_CONTROLLER_FLAVOR = 1000i32;
1358 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1359 pub const EHCI_NEC: USB_CONTROLLER_FLAVOR = 2000i32;
1360 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1361 pub const EHCI_Lucent: USB_CONTROLLER_FLAVOR = 3000i32;
1362 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1363 pub const EHCI_NVIDIA_Tegra2: USB_CONTROLLER_FLAVOR = 4000i32;
1364 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1365 pub const EHCI_NVIDIA_Tegra3: USB_CONTROLLER_FLAVOR = 4001i32;
1366 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1367 pub const EHCI_Intel_Medfield: USB_CONTROLLER_FLAVOR = 5001i32;
1368 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1369 pub type USB_DEVICE_SPEED = i32;
1370 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1371 pub const UsbLowSpeed: USB_DEVICE_SPEED = 0i32;
1372 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1373 pub const UsbFullSpeed: USB_DEVICE_SPEED = 1i32;
1374 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1375 pub const UsbHighSpeed: USB_DEVICE_SPEED = 2i32;
1376 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1377 pub const UsbSuperSpeed: USB_DEVICE_SPEED = 3i32;
1378 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1379 pub type USB_DEVICE_TYPE = i32;
1380 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1381 pub const Usb11Device: USB_DEVICE_TYPE = 0i32;
1382 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1383 pub const Usb20Device: USB_DEVICE_TYPE = 1i32;
1384 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1385 pub type USB_USER_ERROR_CODE = i32;
1386 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1387 pub const UsbUserSuccess: USB_USER_ERROR_CODE = 0i32;
1388 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1389 pub const UsbUserNotSupported: USB_USER_ERROR_CODE = 1i32;
1390 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1391 pub const UsbUserInvalidRequestCode: USB_USER_ERROR_CODE = 2i32;
1392 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1393 pub const UsbUserFeatureDisabled: USB_USER_ERROR_CODE = 3i32;
1394 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1395 pub const UsbUserInvalidHeaderParameter: USB_USER_ERROR_CODE = 4i32;
1396 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1397 pub const UsbUserInvalidParameter: USB_USER_ERROR_CODE = 5i32;
1398 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1399 pub const UsbUserMiniportError: USB_USER_ERROR_CODE = 6i32;
1400 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1401 pub const UsbUserBufferTooSmall: USB_USER_ERROR_CODE = 7i32;
1402 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1403 pub const UsbUserErrorNotMapped: USB_USER_ERROR_CODE = 8i32;
1404 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1405 pub const UsbUserDeviceNotStarted: USB_USER_ERROR_CODE = 9i32;
1406 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1407 pub const UsbUserNoDeviceConnected: USB_USER_ERROR_CODE = 10i32;
1408 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1409 pub type WDMUSB_POWER_STATE = i32;
1410 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1411 pub const WdmUsbPowerNotMapped: WDMUSB_POWER_STATE = 0i32;
1412 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1413 pub const WdmUsbPowerSystemUnspecified: WDMUSB_POWER_STATE = 100i32;
1414 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1415 pub const WdmUsbPowerSystemWorking: WDMUSB_POWER_STATE = 101i32;
1416 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1417 pub const WdmUsbPowerSystemSleeping1: WDMUSB_POWER_STATE = 102i32;
1418 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1419 pub const WdmUsbPowerSystemSleeping2: WDMUSB_POWER_STATE = 103i32;
1420 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1421 pub const WdmUsbPowerSystemSleeping3: WDMUSB_POWER_STATE = 104i32;
1422 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1423 pub const WdmUsbPowerSystemHibernate: WDMUSB_POWER_STATE = 105i32;
1424 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1425 pub const WdmUsbPowerSystemShutdown: WDMUSB_POWER_STATE = 106i32;
1426 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1427 pub const WdmUsbPowerDeviceUnspecified: WDMUSB_POWER_STATE = 200i32;
1428 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1429 pub const WdmUsbPowerDeviceD0: WDMUSB_POWER_STATE = 201i32;
1430 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1431 pub const WdmUsbPowerDeviceD1: WDMUSB_POWER_STATE = 202i32;
1432 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1433 pub const WdmUsbPowerDeviceD2: WDMUSB_POWER_STATE = 203i32;
1434 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1435 pub const WdmUsbPowerDeviceD3: WDMUSB_POWER_STATE = 204i32;
1436 #[repr(C)]
1437 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1438 pub struct ALTERNATE_INTERFACE {
1439 pub InterfaceNumber: u16,
1440 pub AlternateInterfaceNumber: u16,
1441 }
1442 impl ::core::marker::Copy for ALTERNATE_INTERFACE {}
1443 impl ::core::clone::Clone for ALTERNATE_INTERFACE {
1444 fn clone(&self) -> Self {
1445 *self
1446 }
1447 }
1448 #[repr(C)]
1449 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1450 pub union BM_REQUEST_TYPE {
1451 pub s: BM_REQUEST_TYPE_0,
1452 pub B: u8,
1453 }
1454 impl ::core::marker::Copy for BM_REQUEST_TYPE {}
1455 impl ::core::clone::Clone for BM_REQUEST_TYPE {
1456 fn clone(&self) -> Self {
1457 *self
1458 }
1459 }
1460 #[repr(C)]
1461 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1462 pub struct BM_REQUEST_TYPE_0 {
1463 pub _bitfield: u8,
1464 }
1465 impl ::core::marker::Copy for BM_REQUEST_TYPE_0 {}
1466 impl ::core::clone::Clone for BM_REQUEST_TYPE_0 {
1467 fn clone(&self) -> Self {
1468 *self
1469 }
1470 }
1471 #[repr(C)]
1472 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1473 pub struct CHANNEL_INFO {
1474 pub EventChannelSize: u32,
1475 pub uReadDataAlignment: u32,
1476 pub uWriteDataAlignment: u32,
1477 }
1478 impl ::core::marker::Copy for CHANNEL_INFO {}
1479 impl ::core::clone::Clone for CHANNEL_INFO {
1480 fn clone(&self) -> Self {
1481 *self
1482 }
1483 }
1484 #[repr(C)]
1485 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1486 pub struct DEVICE_DESCRIPTOR {
1487 pub usVendorId: u16,
1488 pub usProductId: u16,
1489 pub usBcdDevice: u16,
1490 pub usLanguageId: u16,
1491 }
1492 impl ::core::marker::Copy for DEVICE_DESCRIPTOR {}
1493 impl ::core::clone::Clone for DEVICE_DESCRIPTOR {
1494 fn clone(&self) -> Self {
1495 *self
1496 }
1497 }
1498 #[repr(C)]
1499 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1500 pub struct DRV_VERSION {
1501 pub major: u32,
1502 pub minor: u32,
1503 pub internal: u32,
1504 }
1505 impl ::core::marker::Copy for DRV_VERSION {}
1506 impl ::core::clone::Clone for DRV_VERSION {
1507 fn clone(&self) -> Self {
1508 *self
1509 }
1510 }
1511 #[repr(C)]
1512 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1513 pub struct IO_BLOCK {
1514 pub uOffset: u32,
1515 pub uLength: u32,
1516 pub pbyData: *mut u8,
1517 pub uIndex: u32,
1518 }
1519 impl ::core::marker::Copy for IO_BLOCK {}
1520 impl ::core::clone::Clone for IO_BLOCK {
1521 fn clone(&self) -> Self {
1522 *self
1523 }
1524 }
1525 #[repr(C)]
1526 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1527 pub struct IO_BLOCK_EX {
1528 pub uOffset: u32,
1529 pub uLength: u32,
1530 pub pbyData: *mut u8,
1531 pub uIndex: u32,
1532 pub bRequest: u8,
1533 pub bmRequestType: u8,
1534 pub fTransferDirectionIn: u8,
1535 }
1536 impl ::core::marker::Copy for IO_BLOCK_EX {}
1537 impl ::core::clone::Clone for IO_BLOCK_EX {
1538 fn clone(&self) -> Self {
1539 *self
1540 }
1541 }
1542 #[repr(C)]
1543 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1544 pub struct OS_STRING {
1545 pub bLength: u8,
1546 pub bDescriptorType: u8,
1547 pub MicrosoftString: [u16; 7],
1548 pub bVendorCode: u8,
1549 pub Anonymous: OS_STRING_0,
1550 }
1551 impl ::core::marker::Copy for OS_STRING {}
1552 impl ::core::clone::Clone for OS_STRING {
1553 fn clone(&self) -> Self {
1554 *self
1555 }
1556 }
1557 #[repr(C)]
1558 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1559 pub union OS_STRING_0 {
1560 pub bPad: u8,
1561 pub bFlags: u8,
1562 }
1563 impl ::core::marker::Copy for OS_STRING_0 {}
1564 impl ::core::clone::Clone for OS_STRING_0 {
1565 fn clone(&self) -> Self {
1566 *self
1567 }
1568 }
1569 #[repr(C, packed(1))]
1570 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1571 pub struct PACKET_PARAMETERS {
1572 pub DeviceAddress: u8,
1573 pub EndpointAddress: u8,
1574 pub MaximumPacketSize: u16,
1575 pub Timeout: u32,
1576 pub Flags: u32,
1577 pub DataLength: u32,
1578 pub HubDeviceAddress: u16,
1579 pub PortTTNumber: u16,
1580 pub ErrorCount: u8,
1581 pub Pad: [u8; 3],
1582 pub UsbdStatusCode: i32,
1583 pub Data: [u8; 4],
1584 }
1585 impl ::core::marker::Copy for PACKET_PARAMETERS {}
1586 impl ::core::clone::Clone for PACKET_PARAMETERS {
1587 fn clone(&self) -> Self {
1588 *self
1589 }
1590 }
1591 #[repr(C, packed(1))]
1592 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1593 pub struct RAW_RESET_PORT_PARAMETERS {
1594 pub PortNumber: u16,
1595 pub PortStatus: u16,
1596 }
1597 impl ::core::marker::Copy for RAW_RESET_PORT_PARAMETERS {}
1598 impl ::core::clone::Clone for RAW_RESET_PORT_PARAMETERS {
1599 fn clone(&self) -> Self {
1600 *self
1601 }
1602 }
1603 #[repr(C, packed(1))]
1604 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1605 pub struct RAW_ROOTPORT_FEATURE {
1606 pub PortNumber: u16,
1607 pub PortFeature: u16,
1608 pub PortStatus: u16,
1609 }
1610 impl ::core::marker::Copy for RAW_ROOTPORT_FEATURE {}
1611 impl ::core::clone::Clone for RAW_ROOTPORT_FEATURE {
1612 fn clone(&self) -> Self {
1613 *self
1614 }
1615 }
1616 #[repr(C, packed(1))]
1617 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1618 pub struct RAW_ROOTPORT_PARAMETERS {
1619 pub PortNumber: u16,
1620 pub PortStatus: u16,
1621 }
1622 impl ::core::marker::Copy for RAW_ROOTPORT_PARAMETERS {}
1623 impl ::core::clone::Clone for RAW_ROOTPORT_PARAMETERS {
1624 fn clone(&self) -> Self {
1625 *self
1626 }
1627 }
1628 #[repr(C)]
1629 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1630 pub struct URB {
1631 pub Anonymous: URB_0,
1632 }
1633 impl ::core::marker::Copy for URB {}
1634 impl ::core::clone::Clone for URB {
1635 fn clone(&self) -> Self {
1636 *self
1637 }
1638 }
1639 #[repr(C)]
1640 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1641 pub union URB_0 {
1642 pub UrbHeader: _URB_HEADER,
1643 pub UrbSelectInterface: _URB_SELECT_INTERFACE,
1644 pub UrbSelectConfiguration: _URB_SELECT_CONFIGURATION,
1645 pub UrbPipeRequest: _URB_PIPE_REQUEST,
1646 pub UrbFrameLengthControl: _URB_FRAME_LENGTH_CONTROL,
1647 pub UrbGetFrameLength: _URB_GET_FRAME_LENGTH,
1648 pub UrbSetFrameLength: _URB_SET_FRAME_LENGTH,
1649 pub UrbGetCurrentFrameNumber: _URB_GET_CURRENT_FRAME_NUMBER,
1650 pub UrbControlTransfer: _URB_CONTROL_TRANSFER,
1651 pub UrbControlTransferEx: _URB_CONTROL_TRANSFER_EX,
1652 pub UrbBulkOrInterruptTransfer: _URB_BULK_OR_INTERRUPT_TRANSFER,
1653 pub UrbIsochronousTransfer: _URB_ISOCH_TRANSFER,
1654 pub UrbControlDescriptorRequest: _URB_CONTROL_DESCRIPTOR_REQUEST,
1655 pub UrbControlGetStatusRequest: _URB_CONTROL_GET_STATUS_REQUEST,
1656 pub UrbControlFeatureRequest: _URB_CONTROL_FEATURE_REQUEST,
1657 pub UrbControlVendorClassRequest: _URB_CONTROL_VENDOR_OR_CLASS_REQUEST,
1658 pub UrbControlGetInterfaceRequest: _URB_CONTROL_GET_INTERFACE_REQUEST,
1659 pub UrbControlGetConfigurationRequest: _URB_CONTROL_GET_CONFIGURATION_REQUEST,
1660 pub UrbOSFeatureDescriptorRequest: _URB_OS_FEATURE_DESCRIPTOR_REQUEST,
1661 pub UrbOpenStaticStreams: _URB_OPEN_STATIC_STREAMS,
1662 pub UrbGetIsochPipeTransferPathDelays: _URB_GET_ISOCH_PIPE_TRANSFER_PATH_DELAYS,
1663 }
1664 impl ::core::marker::Copy for URB_0 {}
1665 impl ::core::clone::Clone for URB_0 {
1666 fn clone(&self) -> Self {
1667 *self
1668 }
1669 }
1670 #[repr(C)]
1671 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1672 pub struct USBD_DEVICE_INFORMATION {
1673 pub OffsetNext: u32,
1674 pub UsbdDeviceHandle: *mut ::core::ffi::c_void,
1675 pub DeviceDescriptor: USB_DEVICE_DESCRIPTOR,
1676 }
1677 impl ::core::marker::Copy for USBD_DEVICE_INFORMATION {}
1678 impl ::core::clone::Clone for USBD_DEVICE_INFORMATION {
1679 fn clone(&self) -> Self {
1680 *self
1681 }
1682 }
1683 #[repr(C, packed(1))]
1684 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1685 pub struct USBD_ENDPOINT_OFFLOAD_INFORMATION {
1686 pub Size: u32,
1687 pub EndpointAddress: u16,
1688 pub ResourceId: u32,
1689 pub Mode: USBD_ENDPOINT_OFFLOAD_MODE,
1690 pub _bitfield1: u32,
1691 pub _bitfield2: u32,
1692 pub TransferSegmentLA: i64,
1693 pub TransferSegmentVA: *mut ::core::ffi::c_void,
1694 pub TransferRingSize: usize,
1695 pub TransferRingInitialCycleBit: u32,
1696 pub MessageNumber: u32,
1697 pub EventRingSegmentLA: i64,
1698 pub EventRingSegmentVA: *mut ::core::ffi::c_void,
1699 pub EventRingSize: usize,
1700 pub EventRingInitialCycleBit: u32,
1701 }
1702 impl ::core::marker::Copy for USBD_ENDPOINT_OFFLOAD_INFORMATION {}
1703 impl ::core::clone::Clone for USBD_ENDPOINT_OFFLOAD_INFORMATION {
1704 fn clone(&self) -> Self {
1705 *self
1706 }
1707 }
1708 #[repr(C)]
1709 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1710 pub struct USBD_INTERFACE_INFORMATION {
1711 pub Length: u16,
1712 pub InterfaceNumber: u8,
1713 pub AlternateSetting: u8,
1714 pub Class: u8,
1715 pub SubClass: u8,
1716 pub Protocol: u8,
1717 pub Reserved: u8,
1718 pub InterfaceHandle: *mut ::core::ffi::c_void,
1719 pub NumberOfPipes: u32,
1720 pub Pipes: [USBD_PIPE_INFORMATION; 1],
1721 }
1722 impl ::core::marker::Copy for USBD_INTERFACE_INFORMATION {}
1723 impl ::core::clone::Clone for USBD_INTERFACE_INFORMATION {
1724 fn clone(&self) -> Self {
1725 *self
1726 }
1727 }
1728 #[repr(C)]
1729 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1730 pub struct USBD_ISO_PACKET_DESCRIPTOR {
1731 pub Offset: u32,
1732 pub Length: u32,
1733 pub Status: i32,
1734 }
1735 impl ::core::marker::Copy for USBD_ISO_PACKET_DESCRIPTOR {}
1736 impl ::core::clone::Clone for USBD_ISO_PACKET_DESCRIPTOR {
1737 fn clone(&self) -> Self {
1738 *self
1739 }
1740 }
1741 #[repr(C)]
1742 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1743 pub struct USBD_PIPE_INFORMATION {
1744 pub MaximumPacketSize: u16,
1745 pub EndpointAddress: u8,
1746 pub Interval: u8,
1747 pub PipeType: USBD_PIPE_TYPE,
1748 pub PipeHandle: *mut ::core::ffi::c_void,
1749 pub MaximumTransferSize: u32,
1750 pub PipeFlags: u32,
1751 }
1752 impl ::core::marker::Copy for USBD_PIPE_INFORMATION {}
1753 impl ::core::clone::Clone for USBD_PIPE_INFORMATION {
1754 fn clone(&self) -> Self {
1755 *self
1756 }
1757 }
1758 #[repr(C)]
1759 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1760 pub struct USBD_STREAM_INFORMATION {
1761 pub PipeHandle: *mut ::core::ffi::c_void,
1762 pub StreamID: u32,
1763 pub MaximumTransferSize: u32,
1764 pub PipeFlags: u32,
1765 }
1766 impl ::core::marker::Copy for USBD_STREAM_INFORMATION {}
1767 impl ::core::clone::Clone for USBD_STREAM_INFORMATION {
1768 fn clone(&self) -> Self {
1769 *self
1770 }
1771 }
1772 #[repr(C)]
1773 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1774 pub struct USBD_VERSION_INFORMATION {
1775 pub USBDI_Version: u32,
1776 pub Supported_USB_Version: u32,
1777 }
1778 impl ::core::marker::Copy for USBD_VERSION_INFORMATION {}
1779 impl ::core::clone::Clone for USBD_VERSION_INFORMATION {
1780 fn clone(&self) -> Self {
1781 *self
1782 }
1783 }
1784 #[repr(C)]
1785 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
1786 #[cfg(feature = "Win32_Foundation")]
1787 pub struct USBFN_BUS_CONFIGURATION_INFO {
1788 pub ConfigurationName: [u16; 40],
1789 pub IsCurrent: super::super::Foundation::BOOLEAN,
1790 pub IsActive: super::super::Foundation::BOOLEAN,
1791 }
1792 #[cfg(feature = "Win32_Foundation")]
1793 impl ::core::marker::Copy for USBFN_BUS_CONFIGURATION_INFO {}
1794 #[cfg(feature = "Win32_Foundation")]
1795 impl ::core::clone::Clone for USBFN_BUS_CONFIGURATION_INFO {
1796 fn clone(&self) -> Self {
1797 *self
1798 }
1799 }
1800 #[repr(C)]
1801 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
1802 #[cfg(feature = "Win32_Foundation")]
1803 pub struct USBFN_CLASS_INFORMATION_PACKET {
1804 pub FullSpeedClassInterface: USBFN_CLASS_INTERFACE,
1805 pub HighSpeedClassInterface: USBFN_CLASS_INTERFACE,
1806 pub InterfaceName: [u16; 40],
1807 pub InterfaceGuid: [u16; 39],
1808 pub HasInterfaceGuid: super::super::Foundation::BOOLEAN,
1809 pub SuperSpeedClassInterface: USBFN_CLASS_INTERFACE,
1810 }
1811 #[cfg(feature = "Win32_Foundation")]
1812 impl ::core::marker::Copy for USBFN_CLASS_INFORMATION_PACKET {}
1813 #[cfg(feature = "Win32_Foundation")]
1814 impl ::core::clone::Clone for USBFN_CLASS_INFORMATION_PACKET {
1815 fn clone(&self) -> Self {
1816 *self
1817 }
1818 }
1819 #[repr(C)]
1820 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
1821 #[cfg(feature = "Win32_Foundation")]
1822 pub struct USBFN_CLASS_INFORMATION_PACKET_EX {
1823 pub FullSpeedClassInterfaceEx: USBFN_CLASS_INTERFACE_EX,
1824 pub HighSpeedClassInterfaceEx: USBFN_CLASS_INTERFACE_EX,
1825 pub SuperSpeedClassInterfaceEx: USBFN_CLASS_INTERFACE_EX,
1826 pub InterfaceName: [u16; 40],
1827 pub InterfaceGuid: [u16; 39],
1828 pub HasInterfaceGuid: super::super::Foundation::BOOLEAN,
1829 }
1830 #[cfg(feature = "Win32_Foundation")]
1831 impl ::core::marker::Copy for USBFN_CLASS_INFORMATION_PACKET_EX {}
1832 #[cfg(feature = "Win32_Foundation")]
1833 impl ::core::clone::Clone for USBFN_CLASS_INFORMATION_PACKET_EX {
1834 fn clone(&self) -> Self {
1835 *self
1836 }
1837 }
1838 #[repr(C)]
1839 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1840 pub struct USBFN_CLASS_INTERFACE {
1841 pub InterfaceNumber: u8,
1842 pub PipeCount: u8,
1843 pub PipeArr: [USBFN_PIPE_INFORMATION; 16],
1844 }
1845 impl ::core::marker::Copy for USBFN_CLASS_INTERFACE {}
1846 impl ::core::clone::Clone for USBFN_CLASS_INTERFACE {
1847 fn clone(&self) -> Self {
1848 *self
1849 }
1850 }
1851 #[repr(C)]
1852 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1853 pub struct USBFN_CLASS_INTERFACE_EX {
1854 pub BaseInterfaceNumber: u8,
1855 pub InterfaceCount: u8,
1856 pub PipeCount: u8,
1857 pub PipeArr: [USBFN_PIPE_INFORMATION; 16],
1858 }
1859 impl ::core::marker::Copy for USBFN_CLASS_INTERFACE_EX {}
1860 impl ::core::clone::Clone for USBFN_CLASS_INTERFACE_EX {
1861 fn clone(&self) -> Self {
1862 *self
1863 }
1864 }
1865 #[repr(C)]
1866 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1867 pub struct USBFN_INTERFACE_INFO {
1868 pub InterfaceNumber: u8,
1869 pub Speed: USBFN_BUS_SPEED,
1870 pub Size: u16,
1871 pub InterfaceDescriptorSet: [u8; 1],
1872 }
1873 impl ::core::marker::Copy for USBFN_INTERFACE_INFO {}
1874 impl ::core::clone::Clone for USBFN_INTERFACE_INFO {
1875 fn clone(&self) -> Self {
1876 *self
1877 }
1878 }
1879 #[repr(C)]
1880 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1881 pub struct USBFN_NOTIFICATION {
1882 pub Event: USBFN_EVENT,
1883 pub u: USBFN_NOTIFICATION_0,
1884 }
1885 impl ::core::marker::Copy for USBFN_NOTIFICATION {}
1886 impl ::core::clone::Clone for USBFN_NOTIFICATION {
1887 fn clone(&self) -> Self {
1888 *self
1889 }
1890 }
1891 #[repr(C)]
1892 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1893 pub union USBFN_NOTIFICATION_0 {
1894 pub BusSpeed: USBFN_BUS_SPEED,
1895 pub SetupPacket: USB_DEFAULT_PIPE_SETUP_PACKET,
1896 pub ConfigurationValue: u16,
1897 pub PortType: USBFN_PORT_TYPE,
1898 pub AlternateInterface: ALTERNATE_INTERFACE,
1899 }
1900 impl ::core::marker::Copy for USBFN_NOTIFICATION_0 {}
1901 impl ::core::clone::Clone for USBFN_NOTIFICATION_0 {
1902 fn clone(&self) -> Self {
1903 *self
1904 }
1905 }
1906 #[repr(C)]
1907 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1908 pub struct USBFN_PIPE_INFORMATION {
1909 pub EpDesc: USB_ENDPOINT_DESCRIPTOR,
1910 pub PipeId: u32,
1911 }
1912 impl ::core::marker::Copy for USBFN_PIPE_INFORMATION {}
1913 impl ::core::clone::Clone for USBFN_PIPE_INFORMATION {
1914 fn clone(&self) -> Self {
1915 *self
1916 }
1917 }
1918 #[repr(C)]
1919 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1920 pub struct USBFN_USB_STRING {
1921 pub StringIndex: u8,
1922 pub UsbString: [u16; 255],
1923 }
1924 impl ::core::marker::Copy for USBFN_USB_STRING {}
1925 impl ::core::clone::Clone for USBFN_USB_STRING {
1926 fn clone(&self) -> Self {
1927 *self
1928 }
1929 }
1930 #[repr(C)]
1931 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1932 pub struct USBSCAN_GET_DESCRIPTOR {
1933 pub DescriptorType: u8,
1934 pub Index: u8,
1935 pub LanguageId: u16,
1936 }
1937 impl ::core::marker::Copy for USBSCAN_GET_DESCRIPTOR {}
1938 impl ::core::clone::Clone for USBSCAN_GET_DESCRIPTOR {
1939 fn clone(&self) -> Self {
1940 *self
1941 }
1942 }
1943 #[repr(C)]
1944 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1945 pub struct USBSCAN_PIPE_CONFIGURATION {
1946 pub NumberOfPipes: u32,
1947 pub PipeInfo: [USBSCAN_PIPE_INFORMATION; 8],
1948 }
1949 impl ::core::marker::Copy for USBSCAN_PIPE_CONFIGURATION {}
1950 impl ::core::clone::Clone for USBSCAN_PIPE_CONFIGURATION {
1951 fn clone(&self) -> Self {
1952 *self
1953 }
1954 }
1955 #[repr(C)]
1956 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1957 pub struct USBSCAN_PIPE_INFORMATION {
1958 pub MaximumPacketSize: u16,
1959 pub EndpointAddress: u8,
1960 pub Interval: u8,
1961 pub PipeType: RAW_PIPE_TYPE,
1962 }
1963 impl ::core::marker::Copy for USBSCAN_PIPE_INFORMATION {}
1964 impl ::core::clone::Clone for USBSCAN_PIPE_INFORMATION {
1965 fn clone(&self) -> Self {
1966 *self
1967 }
1968 }
1969 #[repr(C)]
1970 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1971 pub struct USBSCAN_TIMEOUT {
1972 pub TimeoutRead: u32,
1973 pub TimeoutWrite: u32,
1974 pub TimeoutEvent: u32,
1975 }
1976 impl ::core::marker::Copy for USBSCAN_TIMEOUT {}
1977 impl ::core::clone::Clone for USBSCAN_TIMEOUT {
1978 fn clone(&self) -> Self {
1979 *self
1980 }
1981 }
1982 #[repr(C, packed(1))]
1983 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
1984 pub struct USBUSER_BANDWIDTH_INFO_REQUEST {
1985 pub Header: USBUSER_REQUEST_HEADER,
1986 pub BandwidthInformation: USB_BANDWIDTH_INFO,
1987 }
1988 impl ::core::marker::Copy for USBUSER_BANDWIDTH_INFO_REQUEST {}
1989 impl ::core::clone::Clone for USBUSER_BANDWIDTH_INFO_REQUEST {
1990 fn clone(&self) -> Self {
1991 *self
1992 }
1993 }
1994 #[repr(C, packed(1))]
1995 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
1996 #[cfg(feature = "Win32_Foundation")]
1997 pub struct USBUSER_BUS_STATISTICS_0_REQUEST {
1998 pub Header: USBUSER_REQUEST_HEADER,
1999 pub BusStatistics0: USB_BUS_STATISTICS_0,
2000 }
2001 #[cfg(feature = "Win32_Foundation")]
2002 impl ::core::marker::Copy for USBUSER_BUS_STATISTICS_0_REQUEST {}
2003 #[cfg(feature = "Win32_Foundation")]
2004 impl ::core::clone::Clone for USBUSER_BUS_STATISTICS_0_REQUEST {
2005 fn clone(&self) -> Self {
2006 *self
2007 }
2008 }
2009 #[repr(C, packed(1))]
2010 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2011 pub struct USBUSER_CLOSE_RAW_DEVICE {
2012 pub Header: USBUSER_REQUEST_HEADER,
2013 pub Parameters: USB_CLOSE_RAW_DEVICE_PARAMETERS,
2014 }
2015 impl ::core::marker::Copy for USBUSER_CLOSE_RAW_DEVICE {}
2016 impl ::core::clone::Clone for USBUSER_CLOSE_RAW_DEVICE {
2017 fn clone(&self) -> Self {
2018 *self
2019 }
2020 }
2021 #[repr(C, packed(1))]
2022 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2023 pub struct USBUSER_CONTROLLER_INFO_0 {
2024 pub Header: USBUSER_REQUEST_HEADER,
2025 pub Info0: USB_CONTROLLER_INFO_0,
2026 }
2027 impl ::core::marker::Copy for USBUSER_CONTROLLER_INFO_0 {}
2028 impl ::core::clone::Clone for USBUSER_CONTROLLER_INFO_0 {
2029 fn clone(&self) -> Self {
2030 *self
2031 }
2032 }
2033 #[repr(C, packed(1))]
2034 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2035 pub struct USBUSER_CONTROLLER_UNICODE_NAME {
2036 pub Header: USBUSER_REQUEST_HEADER,
2037 pub UnicodeName: USB_UNICODE_NAME,
2038 }
2039 impl ::core::marker::Copy for USBUSER_CONTROLLER_UNICODE_NAME {}
2040 impl ::core::clone::Clone for USBUSER_CONTROLLER_UNICODE_NAME {
2041 fn clone(&self) -> Self {
2042 *self
2043 }
2044 }
2045 #[repr(C, packed(1))]
2046 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
2047 #[cfg(feature = "Win32_Foundation")]
2048 pub struct USBUSER_GET_DRIVER_VERSION {
2049 pub Header: USBUSER_REQUEST_HEADER,
2050 pub Parameters: USB_DRIVER_VERSION_PARAMETERS,
2051 }
2052 #[cfg(feature = "Win32_Foundation")]
2053 impl ::core::marker::Copy for USBUSER_GET_DRIVER_VERSION {}
2054 #[cfg(feature = "Win32_Foundation")]
2055 impl ::core::clone::Clone for USBUSER_GET_DRIVER_VERSION {
2056 fn clone(&self) -> Self {
2057 *self
2058 }
2059 }
2060 #[repr(C, packed(1))]
2061 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2062 pub struct USBUSER_GET_USB2HW_VERSION {
2063 pub Header: USBUSER_REQUEST_HEADER,
2064 pub Parameters: USB_USB2HW_VERSION_PARAMETERS,
2065 }
2066 impl ::core::marker::Copy for USBUSER_GET_USB2HW_VERSION {}
2067 impl ::core::clone::Clone for USBUSER_GET_USB2HW_VERSION {
2068 fn clone(&self) -> Self {
2069 *self
2070 }
2071 }
2072 #[repr(C, packed(1))]
2073 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2074 pub struct USBUSER_OPEN_RAW_DEVICE {
2075 pub Header: USBUSER_REQUEST_HEADER,
2076 pub Parameters: USB_OPEN_RAW_DEVICE_PARAMETERS,
2077 }
2078 impl ::core::marker::Copy for USBUSER_OPEN_RAW_DEVICE {}
2079 impl ::core::clone::Clone for USBUSER_OPEN_RAW_DEVICE {
2080 fn clone(&self) -> Self {
2081 *self
2082 }
2083 }
2084 #[repr(C, packed(1))]
2085 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2086 pub struct USBUSER_PASS_THRU_REQUEST {
2087 pub Header: USBUSER_REQUEST_HEADER,
2088 pub PassThru: USB_PASS_THRU_PARAMETERS,
2089 }
2090 impl ::core::marker::Copy for USBUSER_PASS_THRU_REQUEST {}
2091 impl ::core::clone::Clone for USBUSER_PASS_THRU_REQUEST {
2092 fn clone(&self) -> Self {
2093 *self
2094 }
2095 }
2096 #[repr(C, packed(1))]
2097 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
2098 #[cfg(feature = "Win32_Foundation")]
2099 pub struct USBUSER_POWER_INFO_REQUEST {
2100 pub Header: USBUSER_REQUEST_HEADER,
2101 pub PowerInformation: USB_POWER_INFO,
2102 }
2103 #[cfg(feature = "Win32_Foundation")]
2104 impl ::core::marker::Copy for USBUSER_POWER_INFO_REQUEST {}
2105 #[cfg(feature = "Win32_Foundation")]
2106 impl ::core::clone::Clone for USBUSER_POWER_INFO_REQUEST {
2107 fn clone(&self) -> Self {
2108 *self
2109 }
2110 }
2111 #[repr(C, packed(1))]
2112 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2113 pub struct USBUSER_RAW_RESET_ROOT_PORT {
2114 pub Header: USBUSER_REQUEST_HEADER,
2115 pub Parameters: RAW_RESET_PORT_PARAMETERS,
2116 }
2117 impl ::core::marker::Copy for USBUSER_RAW_RESET_ROOT_PORT {}
2118 impl ::core::clone::Clone for USBUSER_RAW_RESET_ROOT_PORT {
2119 fn clone(&self) -> Self {
2120 *self
2121 }
2122 }
2123 #[repr(C, packed(1))]
2124 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2125 pub struct USBUSER_REFRESH_HCT_REG {
2126 pub Header: USBUSER_REQUEST_HEADER,
2127 pub Flags: u32,
2128 }
2129 impl ::core::marker::Copy for USBUSER_REFRESH_HCT_REG {}
2130 impl ::core::clone::Clone for USBUSER_REFRESH_HCT_REG {
2131 fn clone(&self) -> Self {
2132 *self
2133 }
2134 }
2135 #[repr(C, packed(1))]
2136 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2137 pub struct USBUSER_REQUEST_HEADER {
2138 pub UsbUserRequest: u32,
2139 pub UsbUserStatusCode: USB_USER_ERROR_CODE,
2140 pub RequestBufferLength: u32,
2141 pub ActualBufferLength: u32,
2142 }
2143 impl ::core::marker::Copy for USBUSER_REQUEST_HEADER {}
2144 impl ::core::clone::Clone for USBUSER_REQUEST_HEADER {
2145 fn clone(&self) -> Self {
2146 *self
2147 }
2148 }
2149 #[repr(C, packed(1))]
2150 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2151 pub struct USBUSER_ROOTPORT_FEATURE_REQUEST {
2152 pub Header: USBUSER_REQUEST_HEADER,
2153 pub Parameters: RAW_ROOTPORT_FEATURE,
2154 }
2155 impl ::core::marker::Copy for USBUSER_ROOTPORT_FEATURE_REQUEST {}
2156 impl ::core::clone::Clone for USBUSER_ROOTPORT_FEATURE_REQUEST {
2157 fn clone(&self) -> Self {
2158 *self
2159 }
2160 }
2161 #[repr(C, packed(1))]
2162 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2163 pub struct USBUSER_ROOTPORT_PARAMETERS {
2164 pub Header: USBUSER_REQUEST_HEADER,
2165 pub Parameters: RAW_ROOTPORT_PARAMETERS,
2166 }
2167 impl ::core::marker::Copy for USBUSER_ROOTPORT_PARAMETERS {}
2168 impl ::core::clone::Clone for USBUSER_ROOTPORT_PARAMETERS {
2169 fn clone(&self) -> Self {
2170 *self
2171 }
2172 }
2173 #[repr(C, packed(1))]
2174 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2175 pub struct USBUSER_SEND_ONE_PACKET {
2176 pub Header: USBUSER_REQUEST_HEADER,
2177 pub PacketParameters: PACKET_PARAMETERS,
2178 }
2179 impl ::core::marker::Copy for USBUSER_SEND_ONE_PACKET {}
2180 impl ::core::clone::Clone for USBUSER_SEND_ONE_PACKET {
2181 fn clone(&self) -> Self {
2182 *self
2183 }
2184 }
2185 #[repr(C, packed(1))]
2186 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2187 pub struct USBUSER_SEND_RAW_COMMAND {
2188 pub Header: USBUSER_REQUEST_HEADER,
2189 pub Parameters: USB_SEND_RAW_COMMAND_PARAMETERS,
2190 }
2191 impl ::core::marker::Copy for USBUSER_SEND_RAW_COMMAND {}
2192 impl ::core::clone::Clone for USBUSER_SEND_RAW_COMMAND {
2193 fn clone(&self) -> Self {
2194 *self
2195 }
2196 }
2197 #[repr(C, packed(1))]
2198 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2199 pub union USB_20_PORT_CHANGE {
2200 pub AsUshort16: u16,
2201 pub Anonymous: USB_20_PORT_CHANGE_0,
2202 }
2203 impl ::core::marker::Copy for USB_20_PORT_CHANGE {}
2204 impl ::core::clone::Clone for USB_20_PORT_CHANGE {
2205 fn clone(&self) -> Self {
2206 *self
2207 }
2208 }
2209 #[repr(C, packed(1))]
2210 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2211 pub struct USB_20_PORT_CHANGE_0 {
2212 pub _bitfield: u16,
2213 }
2214 impl ::core::marker::Copy for USB_20_PORT_CHANGE_0 {}
2215 impl ::core::clone::Clone for USB_20_PORT_CHANGE_0 {
2216 fn clone(&self) -> Self {
2217 *self
2218 }
2219 }
2220 #[repr(C, packed(1))]
2221 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2222 pub union USB_20_PORT_STATUS {
2223 pub AsUshort16: u16,
2224 pub Anonymous: USB_20_PORT_STATUS_0,
2225 }
2226 impl ::core::marker::Copy for USB_20_PORT_STATUS {}
2227 impl ::core::clone::Clone for USB_20_PORT_STATUS {
2228 fn clone(&self) -> Self {
2229 *self
2230 }
2231 }
2232 #[repr(C, packed(1))]
2233 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2234 pub struct USB_20_PORT_STATUS_0 {
2235 pub _bitfield: u16,
2236 }
2237 impl ::core::marker::Copy for USB_20_PORT_STATUS_0 {}
2238 impl ::core::clone::Clone for USB_20_PORT_STATUS_0 {
2239 fn clone(&self) -> Self {
2240 *self
2241 }
2242 }
2243 #[repr(C, packed(1))]
2244 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2245 pub struct USB_30_HUB_DESCRIPTOR {
2246 pub bLength: u8,
2247 pub bDescriptorType: u8,
2248 pub bNumberOfPorts: u8,
2249 pub wHubCharacteristics: u16,
2250 pub bPowerOnToPowerGood: u8,
2251 pub bHubControlCurrent: u8,
2252 pub bHubHdrDecLat: u8,
2253 pub wHubDelay: u16,
2254 pub DeviceRemovable: u16,
2255 }
2256 impl ::core::marker::Copy for USB_30_HUB_DESCRIPTOR {}
2257 impl ::core::clone::Clone for USB_30_HUB_DESCRIPTOR {
2258 fn clone(&self) -> Self {
2259 *self
2260 }
2261 }
2262 #[repr(C, packed(1))]
2263 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2264 pub union USB_30_PORT_CHANGE {
2265 pub AsUshort16: u16,
2266 pub Anonymous: USB_30_PORT_CHANGE_0,
2267 }
2268 impl ::core::marker::Copy for USB_30_PORT_CHANGE {}
2269 impl ::core::clone::Clone for USB_30_PORT_CHANGE {
2270 fn clone(&self) -> Self {
2271 *self
2272 }
2273 }
2274 #[repr(C, packed(1))]
2275 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2276 pub struct USB_30_PORT_CHANGE_0 {
2277 pub _bitfield: u16,
2278 }
2279 impl ::core::marker::Copy for USB_30_PORT_CHANGE_0 {}
2280 impl ::core::clone::Clone for USB_30_PORT_CHANGE_0 {
2281 fn clone(&self) -> Self {
2282 *self
2283 }
2284 }
2285 #[repr(C, packed(1))]
2286 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2287 pub union USB_30_PORT_STATUS {
2288 pub AsUshort16: u16,
2289 pub Anonymous: USB_30_PORT_STATUS_0,
2290 }
2291 impl ::core::marker::Copy for USB_30_PORT_STATUS {}
2292 impl ::core::clone::Clone for USB_30_PORT_STATUS {
2293 fn clone(&self) -> Self {
2294 *self
2295 }
2296 }
2297 #[repr(C, packed(1))]
2298 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2299 pub struct USB_30_PORT_STATUS_0 {
2300 pub _bitfield: u16,
2301 }
2302 impl ::core::marker::Copy for USB_30_PORT_STATUS_0 {}
2303 impl ::core::clone::Clone for USB_30_PORT_STATUS_0 {
2304 fn clone(&self) -> Self {
2305 *self
2306 }
2307 }
2308 #[repr(C, packed(1))]
2309 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2310 pub struct USB_BANDWIDTH_INFO {
2311 pub DeviceCount: u32,
2312 pub TotalBusBandwidth: u32,
2313 pub Total32secBandwidth: u32,
2314 pub AllocedBulkAndControl: u32,
2315 pub AllocedIso: u32,
2316 pub AllocedInterrupt_1ms: u32,
2317 pub AllocedInterrupt_2ms: u32,
2318 pub AllocedInterrupt_4ms: u32,
2319 pub AllocedInterrupt_8ms: u32,
2320 pub AllocedInterrupt_16ms: u32,
2321 pub AllocedInterrupt_32ms: u32,
2322 }
2323 impl ::core::marker::Copy for USB_BANDWIDTH_INFO {}
2324 impl ::core::clone::Clone for USB_BANDWIDTH_INFO {
2325 fn clone(&self) -> Self {
2326 *self
2327 }
2328 }
2329 #[repr(C, packed(1))]
2330 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2331 pub struct USB_BOS_DESCRIPTOR {
2332 pub bLength: u8,
2333 pub bDescriptorType: u8,
2334 pub wTotalLength: u16,
2335 pub bNumDeviceCaps: u8,
2336 }
2337 impl ::core::marker::Copy for USB_BOS_DESCRIPTOR {}
2338 impl ::core::clone::Clone for USB_BOS_DESCRIPTOR {
2339 fn clone(&self) -> Self {
2340 *self
2341 }
2342 }
2343 #[repr(C, packed(1))]
2344 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
2345 #[cfg(feature = "Win32_Foundation")]
2346 pub struct USB_BUS_STATISTICS_0 {
2347 pub DeviceCount: u32,
2348 pub CurrentSystemTime: i64,
2349 pub CurrentUsbFrame: u32,
2350 pub BulkBytes: u32,
2351 pub IsoBytes: u32,
2352 pub InterruptBytes: u32,
2353 pub ControlDataBytes: u32,
2354 pub PciInterruptCount: u32,
2355 pub HardResetCount: u32,
2356 pub WorkerSignalCount: u32,
2357 pub CommonBufferBytes: u32,
2358 pub WorkerIdleTimeMs: u32,
2359 pub RootHubEnabled: super::super::Foundation::BOOLEAN,
2360 pub RootHubDevicePowerState: u8,
2361 pub Unused: u8,
2362 pub NameIndex: u8,
2363 }
2364 #[cfg(feature = "Win32_Foundation")]
2365 impl ::core::marker::Copy for USB_BUS_STATISTICS_0 {}
2366 #[cfg(feature = "Win32_Foundation")]
2367 impl ::core::clone::Clone for USB_BUS_STATISTICS_0 {
2368 fn clone(&self) -> Self {
2369 *self
2370 }
2371 }
2372 #[repr(C, packed(1))]
2373 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2374 pub struct USB_CLOSE_RAW_DEVICE_PARAMETERS {
2375 pub xxx: u32,
2376 }
2377 impl ::core::marker::Copy for USB_CLOSE_RAW_DEVICE_PARAMETERS {}
2378 impl ::core::clone::Clone for USB_CLOSE_RAW_DEVICE_PARAMETERS {
2379 fn clone(&self) -> Self {
2380 *self
2381 }
2382 }
2383 #[repr(C)]
2384 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2385 pub struct USB_COMMON_DESCRIPTOR {
2386 pub bLength: u8,
2387 pub bDescriptorType: u8,
2388 }
2389 impl ::core::marker::Copy for USB_COMMON_DESCRIPTOR {}
2390 impl ::core::clone::Clone for USB_COMMON_DESCRIPTOR {
2391 fn clone(&self) -> Self {
2392 *self
2393 }
2394 }
2395 #[repr(C, packed(1))]
2396 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2397 pub struct USB_CONFIGURATION_DESCRIPTOR {
2398 pub bLength: u8,
2399 pub bDescriptorType: u8,
2400 pub wTotalLength: u16,
2401 pub bNumInterfaces: u8,
2402 pub bConfigurationValue: u8,
2403 pub iConfiguration: u8,
2404 pub bmAttributes: u8,
2405 pub MaxPower: u8,
2406 }
2407 impl ::core::marker::Copy for USB_CONFIGURATION_DESCRIPTOR {}
2408 impl ::core::clone::Clone for USB_CONFIGURATION_DESCRIPTOR {
2409 fn clone(&self) -> Self {
2410 *self
2411 }
2412 }
2413 #[repr(C, packed(1))]
2414 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2415 pub struct USB_CONFIGURATION_POWER_DESCRIPTOR {
2416 pub bLength: u8,
2417 pub bDescriptorType: u8,
2418 pub SelfPowerConsumedD0: [u8; 3],
2419 pub bPowerSummaryId: u8,
2420 pub bBusPowerSavingD1: u8,
2421 pub bSelfPowerSavingD1: u8,
2422 pub bBusPowerSavingD2: u8,
2423 pub bSelfPowerSavingD2: u8,
2424 pub bBusPowerSavingD3: u8,
2425 pub bSelfPowerSavingD3: u8,
2426 pub TransitionTimeFromD1: u16,
2427 pub TransitionTimeFromD2: u16,
2428 pub TransitionTimeFromD3: u16,
2429 }
2430 impl ::core::marker::Copy for USB_CONFIGURATION_POWER_DESCRIPTOR {}
2431 impl ::core::clone::Clone for USB_CONFIGURATION_POWER_DESCRIPTOR {
2432 fn clone(&self) -> Self {
2433 *self
2434 }
2435 }
2436 #[repr(C, packed(1))]
2437 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2438 pub struct USB_CONTROLLER_INFO_0 {
2439 pub PciVendorId: u32,
2440 pub PciDeviceId: u32,
2441 pub PciRevision: u32,
2442 pub NumberOfRootPorts: u32,
2443 pub ControllerFlavor: USB_CONTROLLER_FLAVOR,
2444 pub HcFeatureFlags: u32,
2445 }
2446 impl ::core::marker::Copy for USB_CONTROLLER_INFO_0 {}
2447 impl ::core::clone::Clone for USB_CONTROLLER_INFO_0 {
2448 fn clone(&self) -> Self {
2449 *self
2450 }
2451 }
2452 #[repr(C, packed(1))]
2453 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2454 pub struct USB_DEFAULT_PIPE_SETUP_PACKET {
2455 pub bmRequestType: BM_REQUEST_TYPE,
2456 pub bRequest: u8,
2457 pub wValue: USB_DEFAULT_PIPE_SETUP_PACKET_1,
2458 pub wIndex: USB_DEFAULT_PIPE_SETUP_PACKET_0,
2459 pub wLength: u16,
2460 }
2461 impl ::core::marker::Copy for USB_DEFAULT_PIPE_SETUP_PACKET {}
2462 impl ::core::clone::Clone for USB_DEFAULT_PIPE_SETUP_PACKET {
2463 fn clone(&self) -> Self {
2464 *self
2465 }
2466 }
2467 #[repr(C, packed(1))]
2468 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2469 pub union USB_DEFAULT_PIPE_SETUP_PACKET_0 {
2470 pub Anonymous: USB_DEFAULT_PIPE_SETUP_PACKET_0_0,
2471 pub W: u16,
2472 }
2473 impl ::core::marker::Copy for USB_DEFAULT_PIPE_SETUP_PACKET_0 {}
2474 impl ::core::clone::Clone for USB_DEFAULT_PIPE_SETUP_PACKET_0 {
2475 fn clone(&self) -> Self {
2476 *self
2477 }
2478 }
2479 #[repr(C)]
2480 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2481 pub struct USB_DEFAULT_PIPE_SETUP_PACKET_0_0 {
2482 pub LowByte: u8,
2483 pub HiByte: u8,
2484 }
2485 impl ::core::marker::Copy for USB_DEFAULT_PIPE_SETUP_PACKET_0_0 {}
2486 impl ::core::clone::Clone for USB_DEFAULT_PIPE_SETUP_PACKET_0_0 {
2487 fn clone(&self) -> Self {
2488 *self
2489 }
2490 }
2491 #[repr(C, packed(1))]
2492 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2493 pub union USB_DEFAULT_PIPE_SETUP_PACKET_1 {
2494 pub Anonymous: USB_DEFAULT_PIPE_SETUP_PACKET_1_0,
2495 pub W: u16,
2496 }
2497 impl ::core::marker::Copy for USB_DEFAULT_PIPE_SETUP_PACKET_1 {}
2498 impl ::core::clone::Clone for USB_DEFAULT_PIPE_SETUP_PACKET_1 {
2499 fn clone(&self) -> Self {
2500 *self
2501 }
2502 }
2503 #[repr(C)]
2504 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2505 pub struct USB_DEFAULT_PIPE_SETUP_PACKET_1_0 {
2506 pub LowByte: u8,
2507 pub HiByte: u8,
2508 }
2509 impl ::core::marker::Copy for USB_DEFAULT_PIPE_SETUP_PACKET_1_0 {}
2510 impl ::core::clone::Clone for USB_DEFAULT_PIPE_SETUP_PACKET_1_0 {
2511 fn clone(&self) -> Self {
2512 *self
2513 }
2514 }
2515 #[repr(C, packed(1))]
2516 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2517 pub struct USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR {
2518 pub bLength: u8,
2519 pub bDescriptorType: u8,
2520 pub bDevCapabilityType: u8,
2521 pub iAddtionalInfoURL: u8,
2522 pub bNumberOfAlternateModes: u8,
2523 pub bPreferredAlternateMode: u8,
2524 pub VconnPower: USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR_1,
2525 pub bmConfigured: [u8; 32],
2526 pub bReserved: u32,
2527 pub AlternateMode: [USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR_0; 1],
2528 }
2529 impl ::core::marker::Copy for USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR {}
2530 impl ::core::clone::Clone for USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR {
2531 fn clone(&self) -> Self {
2532 *self
2533 }
2534 }
2535 #[repr(C, packed(1))]
2536 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2537 pub struct USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR_0 {
2538 pub wSVID: u16,
2539 pub bAlternateMode: u8,
2540 pub iAlternateModeSetting: u8,
2541 }
2542 impl ::core::marker::Copy for USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR_0 {}
2543 impl ::core::clone::Clone for USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR_0 {
2544 fn clone(&self) -> Self {
2545 *self
2546 }
2547 }
2548 #[repr(C, packed(1))]
2549 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2550 pub union USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR_1 {
2551 pub AsUshort: u16,
2552 pub Anonymous: USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR_1_0,
2553 }
2554 impl ::core::marker::Copy for USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR_1 {}
2555 impl ::core::clone::Clone for USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR_1 {
2556 fn clone(&self) -> Self {
2557 *self
2558 }
2559 }
2560 #[repr(C, packed(1))]
2561 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2562 pub struct USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR_1_0 {
2563 pub _bitfield: u16,
2564 }
2565 impl ::core::marker::Copy for USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR_1_0 {}
2566 impl ::core::clone::Clone for USB_DEVICE_CAPABILITY_BILLBOARD_DESCRIPTOR_1_0 {
2567 fn clone(&self) -> Self {
2568 *self
2569 }
2570 }
2571 #[repr(C)]
2572 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2573 pub struct USB_DEVICE_CAPABILITY_CONTAINER_ID_DESCRIPTOR {
2574 pub bLength: u8,
2575 pub bDescriptorType: u8,
2576 pub bDevCapabilityType: u8,
2577 pub bReserved: u8,
2578 pub ContainerID: [u8; 16],
2579 }
2580 impl ::core::marker::Copy for USB_DEVICE_CAPABILITY_CONTAINER_ID_DESCRIPTOR {}
2581 impl ::core::clone::Clone for USB_DEVICE_CAPABILITY_CONTAINER_ID_DESCRIPTOR {
2582 fn clone(&self) -> Self {
2583 *self
2584 }
2585 }
2586 #[repr(C)]
2587 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2588 pub struct USB_DEVICE_CAPABILITY_DESCRIPTOR {
2589 pub bLength: u8,
2590 pub bDescriptorType: u8,
2591 pub bDevCapabilityType: u8,
2592 }
2593 impl ::core::marker::Copy for USB_DEVICE_CAPABILITY_DESCRIPTOR {}
2594 impl ::core::clone::Clone for USB_DEVICE_CAPABILITY_DESCRIPTOR {
2595 fn clone(&self) -> Self {
2596 *self
2597 }
2598 }
2599 #[repr(C)]
2600 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2601 pub struct USB_DEVICE_CAPABILITY_FIRMWARE_STATUS_DESCRIPTOR {
2602 pub bLength: u8,
2603 pub bDescriptorType: u8,
2604 pub bDevCapabilityType: u8,
2605 pub bcdDescriptorVersion: u8,
2606 pub bmAttributes: USB_DEVICE_CAPABILITY_FIRMWARE_STATUS_DESCRIPTOR_0,
2607 }
2608 impl ::core::marker::Copy for USB_DEVICE_CAPABILITY_FIRMWARE_STATUS_DESCRIPTOR {}
2609 impl ::core::clone::Clone for USB_DEVICE_CAPABILITY_FIRMWARE_STATUS_DESCRIPTOR {
2610 fn clone(&self) -> Self {
2611 *self
2612 }
2613 }
2614 #[repr(C, packed(1))]
2615 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2616 pub union USB_DEVICE_CAPABILITY_FIRMWARE_STATUS_DESCRIPTOR_0 {
2617 pub AsUlong: u32,
2618 pub Anonymous: USB_DEVICE_CAPABILITY_FIRMWARE_STATUS_DESCRIPTOR_0_0,
2619 }
2620 impl ::core::marker::Copy for USB_DEVICE_CAPABILITY_FIRMWARE_STATUS_DESCRIPTOR_0 {}
2621 impl ::core::clone::Clone for USB_DEVICE_CAPABILITY_FIRMWARE_STATUS_DESCRIPTOR_0 {
2622 fn clone(&self) -> Self {
2623 *self
2624 }
2625 }
2626 #[repr(C, packed(1))]
2627 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2628 pub struct USB_DEVICE_CAPABILITY_FIRMWARE_STATUS_DESCRIPTOR_0_0 {
2629 pub _bitfield: u32,
2630 }
2631 impl ::core::marker::Copy for USB_DEVICE_CAPABILITY_FIRMWARE_STATUS_DESCRIPTOR_0_0 {}
2632 impl ::core::clone::Clone for USB_DEVICE_CAPABILITY_FIRMWARE_STATUS_DESCRIPTOR_0_0 {
2633 fn clone(&self) -> Self {
2634 *self
2635 }
2636 }
2637 #[repr(C, packed(1))]
2638 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2639 pub struct USB_DEVICE_CAPABILITY_PD_CONSUMER_PORT_DESCRIPTOR {
2640 pub bLength: u8,
2641 pub bDescriptorType: u8,
2642 pub bDevCapabilityType: u8,
2643 pub bReserved: u8,
2644 pub bmCapabilities: USB_DEVICE_CAPABILITY_PD_CONSUMER_PORT_DESCRIPTOR_0,
2645 pub wMinVoltage: u16,
2646 pub wMaxVoltage: u16,
2647 pub wReserved: u16,
2648 pub dwMaxOperatingPower: u32,
2649 pub dwMaxPeakPower: u32,
2650 pub dwMaxPeakPowerTime: u32,
2651 }
2652 impl ::core::marker::Copy for USB_DEVICE_CAPABILITY_PD_CONSUMER_PORT_DESCRIPTOR {}
2653 impl ::core::clone::Clone for USB_DEVICE_CAPABILITY_PD_CONSUMER_PORT_DESCRIPTOR {
2654 fn clone(&self) -> Self {
2655 *self
2656 }
2657 }
2658 #[repr(C, packed(1))]
2659 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2660 pub union USB_DEVICE_CAPABILITY_PD_CONSUMER_PORT_DESCRIPTOR_0 {
2661 pub AsUshort: u16,
2662 pub Anonymous: USB_DEVICE_CAPABILITY_PD_CONSUMER_PORT_DESCRIPTOR_0_0,
2663 }
2664 impl ::core::marker::Copy for USB_DEVICE_CAPABILITY_PD_CONSUMER_PORT_DESCRIPTOR_0 {}
2665 impl ::core::clone::Clone for USB_DEVICE_CAPABILITY_PD_CONSUMER_PORT_DESCRIPTOR_0 {
2666 fn clone(&self) -> Self {
2667 *self
2668 }
2669 }
2670 #[repr(C, packed(1))]
2671 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2672 pub struct USB_DEVICE_CAPABILITY_PD_CONSUMER_PORT_DESCRIPTOR_0_0 {
2673 pub _bitfield: u16,
2674 }
2675 impl ::core::marker::Copy for USB_DEVICE_CAPABILITY_PD_CONSUMER_PORT_DESCRIPTOR_0_0 {}
2676 impl ::core::clone::Clone for USB_DEVICE_CAPABILITY_PD_CONSUMER_PORT_DESCRIPTOR_0_0 {
2677 fn clone(&self) -> Self {
2678 *self
2679 }
2680 }
2681 #[repr(C, packed(1))]
2682 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2683 pub struct USB_DEVICE_CAPABILITY_PLATFORM_DESCRIPTOR {
2684 pub bLength: u8,
2685 pub bDescriptorType: u8,
2686 pub bDevCapabilityType: u8,
2687 pub bReserved: u8,
2688 pub PlatformCapabilityUuid: ::windows_sys::core::GUID,
2689 pub CapabililityData: [u8; 1],
2690 }
2691 impl ::core::marker::Copy for USB_DEVICE_CAPABILITY_PLATFORM_DESCRIPTOR {}
2692 impl ::core::clone::Clone for USB_DEVICE_CAPABILITY_PLATFORM_DESCRIPTOR {
2693 fn clone(&self) -> Self {
2694 *self
2695 }
2696 }
2697 #[repr(C, packed(1))]
2698 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2699 pub struct USB_DEVICE_CAPABILITY_POWER_DELIVERY_DESCRIPTOR {
2700 pub bLength: u8,
2701 pub bDescriptorType: u8,
2702 pub bDevCapabilityType: u8,
2703 pub bReserved: u8,
2704 pub bmAttributes: USB_DEVICE_CAPABILITY_POWER_DELIVERY_DESCRIPTOR_0,
2705 pub bmProviderPorts: u16,
2706 pub bmConsumerPorts: u16,
2707 pub bcdBCVersion: u16,
2708 pub bcdPDVersion: u16,
2709 pub bcdUSBTypeCVersion: u16,
2710 }
2711 impl ::core::marker::Copy for USB_DEVICE_CAPABILITY_POWER_DELIVERY_DESCRIPTOR {}
2712 impl ::core::clone::Clone for USB_DEVICE_CAPABILITY_POWER_DELIVERY_DESCRIPTOR {
2713 fn clone(&self) -> Self {
2714 *self
2715 }
2716 }
2717 #[repr(C, packed(1))]
2718 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2719 pub union USB_DEVICE_CAPABILITY_POWER_DELIVERY_DESCRIPTOR_0 {
2720 pub AsUlong: u32,
2721 pub Anonymous: USB_DEVICE_CAPABILITY_POWER_DELIVERY_DESCRIPTOR_0_0,
2722 }
2723 impl ::core::marker::Copy for USB_DEVICE_CAPABILITY_POWER_DELIVERY_DESCRIPTOR_0 {}
2724 impl ::core::clone::Clone for USB_DEVICE_CAPABILITY_POWER_DELIVERY_DESCRIPTOR_0 {
2725 fn clone(&self) -> Self {
2726 *self
2727 }
2728 }
2729 #[repr(C, packed(1))]
2730 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2731 pub struct USB_DEVICE_CAPABILITY_POWER_DELIVERY_DESCRIPTOR_0_0 {
2732 pub _bitfield: u32,
2733 }
2734 impl ::core::marker::Copy for USB_DEVICE_CAPABILITY_POWER_DELIVERY_DESCRIPTOR_0_0 {}
2735 impl ::core::clone::Clone for USB_DEVICE_CAPABILITY_POWER_DELIVERY_DESCRIPTOR_0_0 {
2736 fn clone(&self) -> Self {
2737 *self
2738 }
2739 }
2740 #[repr(C, packed(1))]
2741 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2742 pub union USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED {
2743 pub AsUlong32: u32,
2744 pub Anonymous: USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_0,
2745 }
2746 impl ::core::marker::Copy for USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED {}
2747 impl ::core::clone::Clone for USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED {
2748 fn clone(&self) -> Self {
2749 *self
2750 }
2751 }
2752 #[repr(C, packed(1))]
2753 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2754 pub struct USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_0 {
2755 pub _bitfield: u32,
2756 }
2757 impl ::core::marker::Copy for USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_0 {}
2758 impl ::core::clone::Clone for USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED_0 {
2759 fn clone(&self) -> Self {
2760 *self
2761 }
2762 }
2763 #[repr(C, packed(1))]
2764 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2765 pub struct USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR {
2766 pub bLength: u8,
2767 pub bDescriptorType: u8,
2768 pub bDevCapabilityType: u8,
2769 pub bReserved: u8,
2770 pub bmAttributes: USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_0,
2771 pub wFunctionalitySupport: USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_1,
2772 pub wReserved: u16,
2773 pub bmSublinkSpeedAttr: [USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED; 1],
2774 }
2775 impl ::core::marker::Copy for USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR {}
2776 impl ::core::clone::Clone for USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR {
2777 fn clone(&self) -> Self {
2778 *self
2779 }
2780 }
2781 #[repr(C, packed(1))]
2782 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2783 pub union USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_0 {
2784 pub AsUlong: u32,
2785 pub Anonymous: USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_0_0,
2786 }
2787 impl ::core::marker::Copy for USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_0 {}
2788 impl ::core::clone::Clone for USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_0 {
2789 fn clone(&self) -> Self {
2790 *self
2791 }
2792 }
2793 #[repr(C, packed(1))]
2794 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2795 pub struct USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_0_0 {
2796 pub _bitfield: u32,
2797 }
2798 impl ::core::marker::Copy for USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_0_0 {}
2799 impl ::core::clone::Clone for USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_0_0 {
2800 fn clone(&self) -> Self {
2801 *self
2802 }
2803 }
2804 #[repr(C, packed(1))]
2805 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2806 pub union USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_1 {
2807 pub AsUshort: u16,
2808 pub Anonymous: USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_1_0,
2809 }
2810 impl ::core::marker::Copy for USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_1 {}
2811 impl ::core::clone::Clone for USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_1 {
2812 fn clone(&self) -> Self {
2813 *self
2814 }
2815 }
2816 #[repr(C, packed(1))]
2817 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2818 pub struct USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_1_0 {
2819 pub _bitfield: u16,
2820 }
2821 impl ::core::marker::Copy for USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_1_0 {}
2822 impl ::core::clone::Clone for USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_USB_DESCRIPTOR_1_0 {
2823 fn clone(&self) -> Self {
2824 *self
2825 }
2826 }
2827 #[repr(C, packed(1))]
2828 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2829 pub struct USB_DEVICE_CAPABILITY_SUPERSPEED_USB_DESCRIPTOR {
2830 pub bLength: u8,
2831 pub bDescriptorType: u8,
2832 pub bDevCapabilityType: u8,
2833 pub bmAttributes: u8,
2834 pub wSpeedsSupported: u16,
2835 pub bFunctionalitySupport: u8,
2836 pub bU1DevExitLat: u8,
2837 pub wU2DevExitLat: u16,
2838 }
2839 impl ::core::marker::Copy for USB_DEVICE_CAPABILITY_SUPERSPEED_USB_DESCRIPTOR {}
2840 impl ::core::clone::Clone for USB_DEVICE_CAPABILITY_SUPERSPEED_USB_DESCRIPTOR {
2841 fn clone(&self) -> Self {
2842 *self
2843 }
2844 }
2845 #[repr(C)]
2846 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2847 pub struct USB_DEVICE_CAPABILITY_USB20_EXTENSION_DESCRIPTOR {
2848 pub bLength: u8,
2849 pub bDescriptorType: u8,
2850 pub bDevCapabilityType: u8,
2851 pub bmAttributes: USB_DEVICE_CAPABILITY_USB20_EXTENSION_DESCRIPTOR_0,
2852 }
2853 impl ::core::marker::Copy for USB_DEVICE_CAPABILITY_USB20_EXTENSION_DESCRIPTOR {}
2854 impl ::core::clone::Clone for USB_DEVICE_CAPABILITY_USB20_EXTENSION_DESCRIPTOR {
2855 fn clone(&self) -> Self {
2856 *self
2857 }
2858 }
2859 #[repr(C, packed(1))]
2860 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2861 pub union USB_DEVICE_CAPABILITY_USB20_EXTENSION_DESCRIPTOR_0 {
2862 pub AsUlong: u32,
2863 pub Anonymous: USB_DEVICE_CAPABILITY_USB20_EXTENSION_DESCRIPTOR_0_0,
2864 }
2865 impl ::core::marker::Copy for USB_DEVICE_CAPABILITY_USB20_EXTENSION_DESCRIPTOR_0 {}
2866 impl ::core::clone::Clone for USB_DEVICE_CAPABILITY_USB20_EXTENSION_DESCRIPTOR_0 {
2867 fn clone(&self) -> Self {
2868 *self
2869 }
2870 }
2871 #[repr(C, packed(1))]
2872 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2873 pub struct USB_DEVICE_CAPABILITY_USB20_EXTENSION_DESCRIPTOR_0_0 {
2874 pub _bitfield: u32,
2875 }
2876 impl ::core::marker::Copy for USB_DEVICE_CAPABILITY_USB20_EXTENSION_DESCRIPTOR_0_0 {}
2877 impl ::core::clone::Clone for USB_DEVICE_CAPABILITY_USB20_EXTENSION_DESCRIPTOR_0_0 {
2878 fn clone(&self) -> Self {
2879 *self
2880 }
2881 }
2882 #[repr(C, packed(1))]
2883 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2884 pub struct USB_DEVICE_DESCRIPTOR {
2885 pub bLength: u8,
2886 pub bDescriptorType: u8,
2887 pub bcdUSB: u16,
2888 pub bDeviceClass: u8,
2889 pub bDeviceSubClass: u8,
2890 pub bDeviceProtocol: u8,
2891 pub bMaxPacketSize0: u8,
2892 pub idVendor: u16,
2893 pub idProduct: u16,
2894 pub bcdDevice: u16,
2895 pub iManufacturer: u8,
2896 pub iProduct: u8,
2897 pub iSerialNumber: u8,
2898 pub bNumConfigurations: u8,
2899 }
2900 impl ::core::marker::Copy for USB_DEVICE_DESCRIPTOR {}
2901 impl ::core::clone::Clone for USB_DEVICE_DESCRIPTOR {
2902 fn clone(&self) -> Self {
2903 *self
2904 }
2905 }
2906 #[repr(C, packed(1))]
2907 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2908 pub struct USB_DEVICE_QUALIFIER_DESCRIPTOR {
2909 pub bLength: u8,
2910 pub bDescriptorType: u8,
2911 pub bcdUSB: u16,
2912 pub bDeviceClass: u8,
2913 pub bDeviceSubClass: u8,
2914 pub bDeviceProtocol: u8,
2915 pub bMaxPacketSize0: u8,
2916 pub bNumConfigurations: u8,
2917 pub bReserved: u8,
2918 }
2919 impl ::core::marker::Copy for USB_DEVICE_QUALIFIER_DESCRIPTOR {}
2920 impl ::core::clone::Clone for USB_DEVICE_QUALIFIER_DESCRIPTOR {
2921 fn clone(&self) -> Self {
2922 *self
2923 }
2924 }
2925 #[repr(C, packed(1))]
2926 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2927 pub union USB_DEVICE_STATUS {
2928 pub AsUshort16: u16,
2929 pub Anonymous: USB_DEVICE_STATUS_0,
2930 }
2931 impl ::core::marker::Copy for USB_DEVICE_STATUS {}
2932 impl ::core::clone::Clone for USB_DEVICE_STATUS {
2933 fn clone(&self) -> Self {
2934 *self
2935 }
2936 }
2937 #[repr(C, packed(1))]
2938 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2939 pub struct USB_DEVICE_STATUS_0 {
2940 pub _bitfield: u16,
2941 }
2942 impl ::core::marker::Copy for USB_DEVICE_STATUS_0 {}
2943 impl ::core::clone::Clone for USB_DEVICE_STATUS_0 {
2944 fn clone(&self) -> Self {
2945 *self
2946 }
2947 }
2948 #[repr(C, packed(1))]
2949 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
2950 #[cfg(feature = "Win32_Foundation")]
2951 pub struct USB_DRIVER_VERSION_PARAMETERS {
2952 pub DriverTrackingCode: u32,
2953 pub USBDI_Version: u32,
2954 pub USBUSER_Version: u32,
2955 pub CheckedPortDriver: super::super::Foundation::BOOLEAN,
2956 pub CheckedMiniportDriver: super::super::Foundation::BOOLEAN,
2957 pub USB_Version: u16,
2958 }
2959 #[cfg(feature = "Win32_Foundation")]
2960 impl ::core::marker::Copy for USB_DRIVER_VERSION_PARAMETERS {}
2961 #[cfg(feature = "Win32_Foundation")]
2962 impl ::core::clone::Clone for USB_DRIVER_VERSION_PARAMETERS {
2963 fn clone(&self) -> Self {
2964 *self
2965 }
2966 }
2967 #[repr(C, packed(1))]
2968 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2969 pub struct USB_ENDPOINT_DESCRIPTOR {
2970 pub bLength: u8,
2971 pub bDescriptorType: u8,
2972 pub bEndpointAddress: u8,
2973 pub bmAttributes: u8,
2974 pub wMaxPacketSize: u16,
2975 pub bInterval: u8,
2976 }
2977 impl ::core::marker::Copy for USB_ENDPOINT_DESCRIPTOR {}
2978 impl ::core::clone::Clone for USB_ENDPOINT_DESCRIPTOR {
2979 fn clone(&self) -> Self {
2980 *self
2981 }
2982 }
2983 #[repr(C, packed(1))]
2984 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2985 pub union USB_ENDPOINT_STATUS {
2986 pub AsUshort16: u16,
2987 pub Anonymous: USB_ENDPOINT_STATUS_0,
2988 }
2989 impl ::core::marker::Copy for USB_ENDPOINT_STATUS {}
2990 impl ::core::clone::Clone for USB_ENDPOINT_STATUS {
2991 fn clone(&self) -> Self {
2992 *self
2993 }
2994 }
2995 #[repr(C, packed(1))]
2996 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
2997 pub struct USB_ENDPOINT_STATUS_0 {
2998 pub _bitfield: u16,
2999 }
3000 impl ::core::marker::Copy for USB_ENDPOINT_STATUS_0 {}
3001 impl ::core::clone::Clone for USB_ENDPOINT_STATUS_0 {
3002 fn clone(&self) -> Self {
3003 *self
3004 }
3005 }
3006 #[repr(C, packed(1))]
3007 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
3008 #[cfg(feature = "Win32_Foundation")]
3009 pub struct USB_FRAME_NUMBER_AND_QPC_FOR_TIME_SYNC_INFORMATION {
3010 pub TimeTrackingHandle: super::super::Foundation::HANDLE,
3011 pub InputFrameNumber: u32,
3012 pub InputMicroFrameNumber: u32,
3013 pub QueryPerformanceCounterAtInputFrameOrMicroFrame: i64,
3014 pub QueryPerformanceCounterFrequency: i64,
3015 pub PredictedAccuracyInMicroSeconds: u32,
3016 pub CurrentGenerationID: u32,
3017 pub CurrentQueryPerformanceCounter: i64,
3018 pub CurrentHardwareFrameNumber: u32,
3019 pub CurrentHardwareMicroFrameNumber: u32,
3020 pub CurrentUSBFrameNumber: u32,
3021 }
3022 #[cfg(feature = "Win32_Foundation")]
3023 impl ::core::marker::Copy for USB_FRAME_NUMBER_AND_QPC_FOR_TIME_SYNC_INFORMATION {}
3024 #[cfg(feature = "Win32_Foundation")]
3025 impl ::core::clone::Clone for USB_FRAME_NUMBER_AND_QPC_FOR_TIME_SYNC_INFORMATION {
3026 fn clone(&self) -> Self {
3027 *self
3028 }
3029 }
3030 #[repr(C)]
3031 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3032 pub union USB_FUNCTION_SUSPEND_OPTIONS {
3033 pub AsUchar: u8,
3034 pub Anonymous: USB_FUNCTION_SUSPEND_OPTIONS_0,
3035 }
3036 impl ::core::marker::Copy for USB_FUNCTION_SUSPEND_OPTIONS {}
3037 impl ::core::clone::Clone for USB_FUNCTION_SUSPEND_OPTIONS {
3038 fn clone(&self) -> Self {
3039 *self
3040 }
3041 }
3042 #[repr(C)]
3043 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3044 pub struct USB_FUNCTION_SUSPEND_OPTIONS_0 {
3045 pub _bitfield: u8,
3046 }
3047 impl ::core::marker::Copy for USB_FUNCTION_SUSPEND_OPTIONS_0 {}
3048 impl ::core::clone::Clone for USB_FUNCTION_SUSPEND_OPTIONS_0 {
3049 fn clone(&self) -> Self {
3050 *self
3051 }
3052 }
3053 #[repr(C, packed(1))]
3054 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3055 pub union USB_HIGH_SPEED_MAXPACKET {
3056 pub us: u16,
3057 }
3058 impl ::core::marker::Copy for USB_HIGH_SPEED_MAXPACKET {}
3059 impl ::core::clone::Clone for USB_HIGH_SPEED_MAXPACKET {
3060 fn clone(&self) -> Self {
3061 *self
3062 }
3063 }
3064 #[repr(C, packed(1))]
3065 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3066 pub struct USB_HIGH_SPEED_MAXPACKET_0 {
3067 pub _bitfield: u16,
3068 }
3069 impl ::core::marker::Copy for USB_HIGH_SPEED_MAXPACKET_0 {}
3070 impl ::core::clone::Clone for USB_HIGH_SPEED_MAXPACKET_0 {
3071 fn clone(&self) -> Self {
3072 *self
3073 }
3074 }
3075 #[repr(C)]
3076 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3077 pub union USB_HUB_30_PORT_REMOTE_WAKE_MASK {
3078 pub AsUchar8: u8,
3079 pub Anonymous: USB_HUB_30_PORT_REMOTE_WAKE_MASK_0,
3080 }
3081 impl ::core::marker::Copy for USB_HUB_30_PORT_REMOTE_WAKE_MASK {}
3082 impl ::core::clone::Clone for USB_HUB_30_PORT_REMOTE_WAKE_MASK {
3083 fn clone(&self) -> Self {
3084 *self
3085 }
3086 }
3087 #[repr(C)]
3088 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3089 pub struct USB_HUB_30_PORT_REMOTE_WAKE_MASK_0 {
3090 pub _bitfield: u8,
3091 }
3092 impl ::core::marker::Copy for USB_HUB_30_PORT_REMOTE_WAKE_MASK_0 {}
3093 impl ::core::clone::Clone for USB_HUB_30_PORT_REMOTE_WAKE_MASK_0 {
3094 fn clone(&self) -> Self {
3095 *self
3096 }
3097 }
3098 #[repr(C, packed(1))]
3099 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3100 pub union USB_HUB_CHANGE {
3101 pub AsUshort16: u16,
3102 pub Anonymous: USB_HUB_CHANGE_0,
3103 }
3104 impl ::core::marker::Copy for USB_HUB_CHANGE {}
3105 impl ::core::clone::Clone for USB_HUB_CHANGE {
3106 fn clone(&self) -> Self {
3107 *self
3108 }
3109 }
3110 #[repr(C, packed(1))]
3111 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3112 pub struct USB_HUB_CHANGE_0 {
3113 pub _bitfield: u16,
3114 }
3115 impl ::core::marker::Copy for USB_HUB_CHANGE_0 {}
3116 impl ::core::clone::Clone for USB_HUB_CHANGE_0 {
3117 fn clone(&self) -> Self {
3118 *self
3119 }
3120 }
3121 #[repr(C, packed(1))]
3122 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3123 pub struct USB_HUB_DESCRIPTOR {
3124 pub bDescriptorLength: u8,
3125 pub bDescriptorType: u8,
3126 pub bNumberOfPorts: u8,
3127 pub wHubCharacteristics: u16,
3128 pub bPowerOnToPowerGood: u8,
3129 pub bHubControlCurrent: u8,
3130 pub bRemoveAndPowerMask: [u8; 64],
3131 }
3132 impl ::core::marker::Copy for USB_HUB_DESCRIPTOR {}
3133 impl ::core::clone::Clone for USB_HUB_DESCRIPTOR {
3134 fn clone(&self) -> Self {
3135 *self
3136 }
3137 }
3138 #[repr(C, packed(1))]
3139 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3140 pub union USB_HUB_STATUS {
3141 pub AsUshort16: u16,
3142 pub Anonymous: USB_HUB_STATUS_0,
3143 }
3144 impl ::core::marker::Copy for USB_HUB_STATUS {}
3145 impl ::core::clone::Clone for USB_HUB_STATUS {
3146 fn clone(&self) -> Self {
3147 *self
3148 }
3149 }
3150 #[repr(C, packed(1))]
3151 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3152 pub struct USB_HUB_STATUS_0 {
3153 pub _bitfield: u16,
3154 }
3155 impl ::core::marker::Copy for USB_HUB_STATUS_0 {}
3156 impl ::core::clone::Clone for USB_HUB_STATUS_0 {
3157 fn clone(&self) -> Self {
3158 *self
3159 }
3160 }
3161 #[repr(C, packed(1))]
3162 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3163 pub union USB_HUB_STATUS_AND_CHANGE {
3164 pub AsUlong32: u32,
3165 pub Anonymous: USB_HUB_STATUS_AND_CHANGE_0,
3166 }
3167 impl ::core::marker::Copy for USB_HUB_STATUS_AND_CHANGE {}
3168 impl ::core::clone::Clone for USB_HUB_STATUS_AND_CHANGE {
3169 fn clone(&self) -> Self {
3170 *self
3171 }
3172 }
3173 #[repr(C)]
3174 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3175 pub struct USB_HUB_STATUS_AND_CHANGE_0 {
3176 pub HubStatus: USB_HUB_STATUS,
3177 pub HubChange: USB_HUB_CHANGE,
3178 }
3179 impl ::core::marker::Copy for USB_HUB_STATUS_AND_CHANGE_0 {}
3180 impl ::core::clone::Clone for USB_HUB_STATUS_AND_CHANGE_0 {
3181 fn clone(&self) -> Self {
3182 *self
3183 }
3184 }
3185 #[repr(C)]
3186 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3187 pub struct USB_IDLE_CALLBACK_INFO {
3188 pub IdleCallback: USB_IDLE_CALLBACK,
3189 pub IdleContext: *mut ::core::ffi::c_void,
3190 }
3191 impl ::core::marker::Copy for USB_IDLE_CALLBACK_INFO {}
3192 impl ::core::clone::Clone for USB_IDLE_CALLBACK_INFO {
3193 fn clone(&self) -> Self {
3194 *self
3195 }
3196 }
3197 #[repr(C)]
3198 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3199 pub struct USB_INTERFACE_ASSOCIATION_DESCRIPTOR {
3200 pub bLength: u8,
3201 pub bDescriptorType: u8,
3202 pub bFirstInterface: u8,
3203 pub bInterfaceCount: u8,
3204 pub bFunctionClass: u8,
3205 pub bFunctionSubClass: u8,
3206 pub bFunctionProtocol: u8,
3207 pub iFunction: u8,
3208 }
3209 impl ::core::marker::Copy for USB_INTERFACE_ASSOCIATION_DESCRIPTOR {}
3210 impl ::core::clone::Clone for USB_INTERFACE_ASSOCIATION_DESCRIPTOR {
3211 fn clone(&self) -> Self {
3212 *self
3213 }
3214 }
3215 #[repr(C)]
3216 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3217 pub struct USB_INTERFACE_DESCRIPTOR {
3218 pub bLength: u8,
3219 pub bDescriptorType: u8,
3220 pub bInterfaceNumber: u8,
3221 pub bAlternateSetting: u8,
3222 pub bNumEndpoints: u8,
3223 pub bInterfaceClass: u8,
3224 pub bInterfaceSubClass: u8,
3225 pub bInterfaceProtocol: u8,
3226 pub iInterface: u8,
3227 }
3228 impl ::core::marker::Copy for USB_INTERFACE_DESCRIPTOR {}
3229 impl ::core::clone::Clone for USB_INTERFACE_DESCRIPTOR {
3230 fn clone(&self) -> Self {
3231 *self
3232 }
3233 }
3234 #[repr(C, packed(1))]
3235 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3236 pub struct USB_INTERFACE_POWER_DESCRIPTOR {
3237 pub bLength: u8,
3238 pub bDescriptorType: u8,
3239 pub bmCapabilitiesFlags: u8,
3240 pub bBusPowerSavingD1: u8,
3241 pub bSelfPowerSavingD1: u8,
3242 pub bBusPowerSavingD2: u8,
3243 pub bSelfPowerSavingD2: u8,
3244 pub bBusPowerSavingD3: u8,
3245 pub bSelfPowerSavingD3: u8,
3246 pub TransitionTimeFromD1: u16,
3247 pub TransitionTimeFromD2: u16,
3248 pub TransitionTimeFromD3: u16,
3249 }
3250 impl ::core::marker::Copy for USB_INTERFACE_POWER_DESCRIPTOR {}
3251 impl ::core::clone::Clone for USB_INTERFACE_POWER_DESCRIPTOR {
3252 fn clone(&self) -> Self {
3253 *self
3254 }
3255 }
3256 #[repr(C, packed(1))]
3257 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3258 pub union USB_INTERFACE_STATUS {
3259 pub AsUshort16: u16,
3260 pub Anonymous: USB_INTERFACE_STATUS_0,
3261 }
3262 impl ::core::marker::Copy for USB_INTERFACE_STATUS {}
3263 impl ::core::clone::Clone for USB_INTERFACE_STATUS {
3264 fn clone(&self) -> Self {
3265 *self
3266 }
3267 }
3268 #[repr(C, packed(1))]
3269 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3270 pub struct USB_INTERFACE_STATUS_0 {
3271 pub _bitfield: u16,
3272 }
3273 impl ::core::marker::Copy for USB_INTERFACE_STATUS_0 {}
3274 impl ::core::clone::Clone for USB_INTERFACE_STATUS_0 {
3275 fn clone(&self) -> Self {
3276 *self
3277 }
3278 }
3279 #[repr(C, packed(1))]
3280 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3281 pub struct USB_OPEN_RAW_DEVICE_PARAMETERS {
3282 pub PortStatus: u16,
3283 pub MaxPacketEp0: u16,
3284 }
3285 impl ::core::marker::Copy for USB_OPEN_RAW_DEVICE_PARAMETERS {}
3286 impl ::core::clone::Clone for USB_OPEN_RAW_DEVICE_PARAMETERS {
3287 fn clone(&self) -> Self {
3288 *self
3289 }
3290 }
3291 #[repr(C, packed(1))]
3292 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3293 pub struct USB_PASS_THRU_PARAMETERS {
3294 pub FunctionGUID: ::windows_sys::core::GUID,
3295 pub ParameterLength: u32,
3296 pub Parameters: [u8; 4],
3297 }
3298 impl ::core::marker::Copy for USB_PASS_THRU_PARAMETERS {}
3299 impl ::core::clone::Clone for USB_PASS_THRU_PARAMETERS {
3300 fn clone(&self) -> Self {
3301 *self
3302 }
3303 }
3304 #[repr(C, packed(1))]
3305 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3306 pub union USB_PORT_CHANGE {
3307 pub AsUshort16: u16,
3308 pub Usb20PortChange: USB_20_PORT_CHANGE,
3309 pub Usb30PortChange: USB_30_PORT_CHANGE,
3310 }
3311 impl ::core::marker::Copy for USB_PORT_CHANGE {}
3312 impl ::core::clone::Clone for USB_PORT_CHANGE {
3313 fn clone(&self) -> Self {
3314 *self
3315 }
3316 }
3317 #[repr(C, packed(1))]
3318 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3319 pub union USB_PORT_EXT_STATUS {
3320 pub AsUlong32: u32,
3321 pub Anonymous: USB_PORT_EXT_STATUS_0,
3322 }
3323 impl ::core::marker::Copy for USB_PORT_EXT_STATUS {}
3324 impl ::core::clone::Clone for USB_PORT_EXT_STATUS {
3325 fn clone(&self) -> Self {
3326 *self
3327 }
3328 }
3329 #[repr(C, packed(1))]
3330 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3331 pub struct USB_PORT_EXT_STATUS_0 {
3332 pub _bitfield: u32,
3333 }
3334 impl ::core::marker::Copy for USB_PORT_EXT_STATUS_0 {}
3335 impl ::core::clone::Clone for USB_PORT_EXT_STATUS_0 {
3336 fn clone(&self) -> Self {
3337 *self
3338 }
3339 }
3340 #[repr(C, packed(1))]
3341 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3342 pub union USB_PORT_EXT_STATUS_AND_CHANGE {
3343 pub AsUlong64: u64,
3344 pub Anonymous: USB_PORT_EXT_STATUS_AND_CHANGE_0,
3345 }
3346 impl ::core::marker::Copy for USB_PORT_EXT_STATUS_AND_CHANGE {}
3347 impl ::core::clone::Clone for USB_PORT_EXT_STATUS_AND_CHANGE {
3348 fn clone(&self) -> Self {
3349 *self
3350 }
3351 }
3352 #[repr(C)]
3353 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3354 pub struct USB_PORT_EXT_STATUS_AND_CHANGE_0 {
3355 pub PortStatusChange: USB_PORT_STATUS_AND_CHANGE,
3356 pub PortExtStatus: USB_PORT_EXT_STATUS,
3357 }
3358 impl ::core::marker::Copy for USB_PORT_EXT_STATUS_AND_CHANGE_0 {}
3359 impl ::core::clone::Clone for USB_PORT_EXT_STATUS_AND_CHANGE_0 {
3360 fn clone(&self) -> Self {
3361 *self
3362 }
3363 }
3364 #[repr(C, packed(1))]
3365 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3366 pub union USB_PORT_STATUS {
3367 pub AsUshort16: u16,
3368 pub Usb20PortStatus: USB_20_PORT_STATUS,
3369 pub Usb30PortStatus: USB_30_PORT_STATUS,
3370 }
3371 impl ::core::marker::Copy for USB_PORT_STATUS {}
3372 impl ::core::clone::Clone for USB_PORT_STATUS {
3373 fn clone(&self) -> Self {
3374 *self
3375 }
3376 }
3377 #[repr(C, packed(1))]
3378 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3379 pub union USB_PORT_STATUS_AND_CHANGE {
3380 pub AsUlong32: u32,
3381 pub Anonymous: USB_PORT_STATUS_AND_CHANGE_0,
3382 }
3383 impl ::core::marker::Copy for USB_PORT_STATUS_AND_CHANGE {}
3384 impl ::core::clone::Clone for USB_PORT_STATUS_AND_CHANGE {
3385 fn clone(&self) -> Self {
3386 *self
3387 }
3388 }
3389 #[repr(C)]
3390 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3391 pub struct USB_PORT_STATUS_AND_CHANGE_0 {
3392 pub PortStatus: USB_PORT_STATUS,
3393 pub PortChange: USB_PORT_CHANGE,
3394 }
3395 impl ::core::marker::Copy for USB_PORT_STATUS_AND_CHANGE_0 {}
3396 impl ::core::clone::Clone for USB_PORT_STATUS_AND_CHANGE_0 {
3397 fn clone(&self) -> Self {
3398 *self
3399 }
3400 }
3401 #[repr(C, packed(1))]
3402 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
3403 #[cfg(feature = "Win32_Foundation")]
3404 pub struct USB_POWER_INFO {
3405 pub SystemState: WDMUSB_POWER_STATE,
3406 pub HcDevicePowerState: WDMUSB_POWER_STATE,
3407 pub HcDeviceWake: WDMUSB_POWER_STATE,
3408 pub HcSystemWake: WDMUSB_POWER_STATE,
3409 pub RhDevicePowerState: WDMUSB_POWER_STATE,
3410 pub RhDeviceWake: WDMUSB_POWER_STATE,
3411 pub RhSystemWake: WDMUSB_POWER_STATE,
3412 pub LastSystemSleepState: WDMUSB_POWER_STATE,
3413 pub CanWakeup: super::super::Foundation::BOOLEAN,
3414 pub IsPowered: super::super::Foundation::BOOLEAN,
3415 }
3416 #[cfg(feature = "Win32_Foundation")]
3417 impl ::core::marker::Copy for USB_POWER_INFO {}
3418 #[cfg(feature = "Win32_Foundation")]
3419 impl ::core::clone::Clone for USB_POWER_INFO {
3420 fn clone(&self) -> Self {
3421 *self
3422 }
3423 }
3424 #[repr(C, packed(1))]
3425 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3426 pub struct USB_SEND_RAW_COMMAND_PARAMETERS {
3427 pub Usb_bmRequest: u8,
3428 pub Usb_bRequest: u8,
3429 pub Usb_wVlaue: u16,
3430 pub Usb_wIndex: u16,
3431 pub Usb_wLength: u16,
3432 pub DeviceAddress: u16,
3433 pub MaximumPacketSize: u16,
3434 pub Timeout: u32,
3435 pub DataLength: u32,
3436 pub UsbdStatusCode: i32,
3437 pub Data: [u8; 4],
3438 }
3439 impl ::core::marker::Copy for USB_SEND_RAW_COMMAND_PARAMETERS {}
3440 impl ::core::clone::Clone for USB_SEND_RAW_COMMAND_PARAMETERS {
3441 fn clone(&self) -> Self {
3442 *self
3443 }
3444 }
3445 #[repr(C, packed(1))]
3446 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
3447 #[cfg(feature = "Win32_Foundation")]
3448 pub struct USB_START_TRACKING_FOR_TIME_SYNC_INFORMATION {
3449 pub TimeTrackingHandle: super::super::Foundation::HANDLE,
3450 pub IsStartupDelayTolerable: super::super::Foundation::BOOLEAN,
3451 }
3452 #[cfg(feature = "Win32_Foundation")]
3453 impl ::core::marker::Copy for USB_START_TRACKING_FOR_TIME_SYNC_INFORMATION {}
3454 #[cfg(feature = "Win32_Foundation")]
3455 impl ::core::clone::Clone for USB_START_TRACKING_FOR_TIME_SYNC_INFORMATION {
3456 fn clone(&self) -> Self {
3457 *self
3458 }
3459 }
3460 #[repr(C, packed(1))]
3461 #[doc = "*Required features: `\"Win32_Devices_Usb\"`, `\"Win32_Foundation\"`*"]
3462 #[cfg(feature = "Win32_Foundation")]
3463 pub struct USB_STOP_TRACKING_FOR_TIME_SYNC_INFORMATION {
3464 pub TimeTrackingHandle: super::super::Foundation::HANDLE,
3465 }
3466 #[cfg(feature = "Win32_Foundation")]
3467 impl ::core::marker::Copy for USB_STOP_TRACKING_FOR_TIME_SYNC_INFORMATION {}
3468 #[cfg(feature = "Win32_Foundation")]
3469 impl ::core::clone::Clone for USB_STOP_TRACKING_FOR_TIME_SYNC_INFORMATION {
3470 fn clone(&self) -> Self {
3471 *self
3472 }
3473 }
3474 #[repr(C, packed(1))]
3475 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3476 pub struct USB_STRING_DESCRIPTOR {
3477 pub bLength: u8,
3478 pub bDescriptorType: u8,
3479 pub bString: [u16; 1],
3480 }
3481 impl ::core::marker::Copy for USB_STRING_DESCRIPTOR {}
3482 impl ::core::clone::Clone for USB_STRING_DESCRIPTOR {
3483 fn clone(&self) -> Self {
3484 *self
3485 }
3486 }
3487 #[repr(C, packed(1))]
3488 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3489 pub struct USB_SUPERSPEEDPLUS_ISOCH_ENDPOINT_COMPANION_DESCRIPTOR {
3490 pub bLength: u8,
3491 pub bDescriptorType: u8,
3492 pub wReserved: u16,
3493 pub dwBytesPerInterval: u32,
3494 }
3495 impl ::core::marker::Copy for USB_SUPERSPEEDPLUS_ISOCH_ENDPOINT_COMPANION_DESCRIPTOR {}
3496 impl ::core::clone::Clone for USB_SUPERSPEEDPLUS_ISOCH_ENDPOINT_COMPANION_DESCRIPTOR {
3497 fn clone(&self) -> Self {
3498 *self
3499 }
3500 }
3501 #[repr(C, packed(1))]
3502 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3503 pub struct USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR {
3504 pub bLength: u8,
3505 pub bDescriptorType: u8,
3506 pub bMaxBurst: u8,
3507 pub bmAttributes: USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_0,
3508 pub wBytesPerInterval: u16,
3509 }
3510 impl ::core::marker::Copy for USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR {}
3511 impl ::core::clone::Clone for USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR {
3512 fn clone(&self) -> Self {
3513 *self
3514 }
3515 }
3516 #[repr(C)]
3517 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3518 pub union USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_0 {
3519 pub AsUchar: u8,
3520 pub Bulk: USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_0_0,
3521 pub Isochronous: USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_0_1,
3522 }
3523 impl ::core::marker::Copy for USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_0 {}
3524 impl ::core::clone::Clone for USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_0 {
3525 fn clone(&self) -> Self {
3526 *self
3527 }
3528 }
3529 #[repr(C)]
3530 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3531 pub struct USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_0_0 {
3532 pub _bitfield: u8,
3533 }
3534 impl ::core::marker::Copy for USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_0_0 {}
3535 impl ::core::clone::Clone for USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_0_0 {
3536 fn clone(&self) -> Self {
3537 *self
3538 }
3539 }
3540 #[repr(C)]
3541 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3542 pub struct USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_0_1 {
3543 pub _bitfield: u8,
3544 }
3545 impl ::core::marker::Copy for USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_0_1 {}
3546 impl ::core::clone::Clone for USB_SUPERSPEED_ENDPOINT_COMPANION_DESCRIPTOR_0_1 {
3547 fn clone(&self) -> Self {
3548 *self
3549 }
3550 }
3551 #[repr(C, packed(1))]
3552 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3553 pub struct USB_UNICODE_NAME {
3554 pub Length: u32,
3555 pub String: [u16; 1],
3556 }
3557 impl ::core::marker::Copy for USB_UNICODE_NAME {}
3558 impl ::core::clone::Clone for USB_UNICODE_NAME {
3559 fn clone(&self) -> Self {
3560 *self
3561 }
3562 }
3563 #[repr(C, packed(1))]
3564 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3565 pub struct USB_USB2HW_VERSION_PARAMETERS {
3566 pub Usb2HwRevision: u8,
3567 }
3568 impl ::core::marker::Copy for USB_USB2HW_VERSION_PARAMETERS {}
3569 impl ::core::clone::Clone for USB_USB2HW_VERSION_PARAMETERS {
3570 fn clone(&self) -> Self {
3571 *self
3572 }
3573 }
3574 #[repr(C)]
3575 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3576 pub struct WINUSB_PIPE_INFORMATION {
3577 pub PipeType: USBD_PIPE_TYPE,
3578 pub PipeId: u8,
3579 pub MaximumPacketSize: u16,
3580 pub Interval: u8,
3581 }
3582 impl ::core::marker::Copy for WINUSB_PIPE_INFORMATION {}
3583 impl ::core::clone::Clone for WINUSB_PIPE_INFORMATION {
3584 fn clone(&self) -> Self {
3585 *self
3586 }
3587 }
3588 #[repr(C)]
3589 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3590 pub struct WINUSB_PIPE_INFORMATION_EX {
3591 pub PipeType: USBD_PIPE_TYPE,
3592 pub PipeId: u8,
3593 pub MaximumPacketSize: u16,
3594 pub Interval: u8,
3595 pub MaximumBytesPerInterval: u32,
3596 }
3597 impl ::core::marker::Copy for WINUSB_PIPE_INFORMATION_EX {}
3598 impl ::core::clone::Clone for WINUSB_PIPE_INFORMATION_EX {
3599 fn clone(&self) -> Self {
3600 *self
3601 }
3602 }
3603 #[repr(C, packed(1))]
3604 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3605 pub struct WINUSB_SETUP_PACKET {
3606 pub RequestType: u8,
3607 pub Request: u8,
3608 pub Value: u16,
3609 pub Index: u16,
3610 pub Length: u16,
3611 }
3612 impl ::core::marker::Copy for WINUSB_SETUP_PACKET {}
3613 impl ::core::clone::Clone for WINUSB_SETUP_PACKET {
3614 fn clone(&self) -> Self {
3615 *self
3616 }
3617 }
3618 #[repr(C)]
3619 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3620 pub struct _URB_BULK_OR_INTERRUPT_TRANSFER {
3621 pub Hdr: _URB_HEADER,
3622 pub PipeHandle: *mut ::core::ffi::c_void,
3623 pub TransferFlags: u32,
3624 pub TransferBufferLength: u32,
3625 pub TransferBuffer: *mut ::core::ffi::c_void,
3626 pub TransferBufferMDL: *mut ::core::ffi::c_void,
3627 pub UrbLink: *mut URB,
3628 pub hca: _URB_HCD_AREA,
3629 }
3630 impl ::core::marker::Copy for _URB_BULK_OR_INTERRUPT_TRANSFER {}
3631 impl ::core::clone::Clone for _URB_BULK_OR_INTERRUPT_TRANSFER {
3632 fn clone(&self) -> Self {
3633 *self
3634 }
3635 }
3636 #[repr(C)]
3637 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3638 pub struct _URB_CONTROL_DESCRIPTOR_REQUEST {
3639 pub Hdr: _URB_HEADER,
3640 pub Reserved: *mut ::core::ffi::c_void,
3641 pub Reserved0: u32,
3642 pub TransferBufferLength: u32,
3643 pub TransferBuffer: *mut ::core::ffi::c_void,
3644 pub TransferBufferMDL: *mut ::core::ffi::c_void,
3645 pub UrbLink: *mut URB,
3646 pub hca: _URB_HCD_AREA,
3647 pub Reserved1: u16,
3648 pub Index: u8,
3649 pub DescriptorType: u8,
3650 pub LanguageId: u16,
3651 pub Reserved2: u16,
3652 }
3653 impl ::core::marker::Copy for _URB_CONTROL_DESCRIPTOR_REQUEST {}
3654 impl ::core::clone::Clone for _URB_CONTROL_DESCRIPTOR_REQUEST {
3655 fn clone(&self) -> Self {
3656 *self
3657 }
3658 }
3659 #[repr(C)]
3660 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3661 pub struct _URB_CONTROL_FEATURE_REQUEST {
3662 pub Hdr: _URB_HEADER,
3663 pub Reserved: *mut ::core::ffi::c_void,
3664 pub Reserved2: u32,
3665 pub Reserved3: u32,
3666 pub Reserved4: *mut ::core::ffi::c_void,
3667 pub Reserved5: *mut ::core::ffi::c_void,
3668 pub UrbLink: *mut URB,
3669 pub hca: _URB_HCD_AREA,
3670 pub Reserved0: u16,
3671 pub FeatureSelector: u16,
3672 pub Index: u16,
3673 pub Reserved1: u16,
3674 }
3675 impl ::core::marker::Copy for _URB_CONTROL_FEATURE_REQUEST {}
3676 impl ::core::clone::Clone for _URB_CONTROL_FEATURE_REQUEST {
3677 fn clone(&self) -> Self {
3678 *self
3679 }
3680 }
3681 #[repr(C)]
3682 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3683 pub struct _URB_CONTROL_GET_CONFIGURATION_REQUEST {
3684 pub Hdr: _URB_HEADER,
3685 pub Reserved: *mut ::core::ffi::c_void,
3686 pub Reserved0: u32,
3687 pub TransferBufferLength: u32,
3688 pub TransferBuffer: *mut ::core::ffi::c_void,
3689 pub TransferBufferMDL: *mut ::core::ffi::c_void,
3690 pub UrbLink: *mut URB,
3691 pub hca: _URB_HCD_AREA,
3692 pub Reserved1: [u8; 8],
3693 }
3694 impl ::core::marker::Copy for _URB_CONTROL_GET_CONFIGURATION_REQUEST {}
3695 impl ::core::clone::Clone for _URB_CONTROL_GET_CONFIGURATION_REQUEST {
3696 fn clone(&self) -> Self {
3697 *self
3698 }
3699 }
3700 #[repr(C)]
3701 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3702 pub struct _URB_CONTROL_GET_INTERFACE_REQUEST {
3703 pub Hdr: _URB_HEADER,
3704 pub Reserved: *mut ::core::ffi::c_void,
3705 pub Reserved0: u32,
3706 pub TransferBufferLength: u32,
3707 pub TransferBuffer: *mut ::core::ffi::c_void,
3708 pub TransferBufferMDL: *mut ::core::ffi::c_void,
3709 pub UrbLink: *mut URB,
3710 pub hca: _URB_HCD_AREA,
3711 pub Reserved1: [u8; 4],
3712 pub Interface: u16,
3713 pub Reserved2: u16,
3714 }
3715 impl ::core::marker::Copy for _URB_CONTROL_GET_INTERFACE_REQUEST {}
3716 impl ::core::clone::Clone for _URB_CONTROL_GET_INTERFACE_REQUEST {
3717 fn clone(&self) -> Self {
3718 *self
3719 }
3720 }
3721 #[repr(C)]
3722 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3723 pub struct _URB_CONTROL_GET_STATUS_REQUEST {
3724 pub Hdr: _URB_HEADER,
3725 pub Reserved: *mut ::core::ffi::c_void,
3726 pub Reserved0: u32,
3727 pub TransferBufferLength: u32,
3728 pub TransferBuffer: *mut ::core::ffi::c_void,
3729 pub TransferBufferMDL: *mut ::core::ffi::c_void,
3730 pub UrbLink: *mut URB,
3731 pub hca: _URB_HCD_AREA,
3732 pub Reserved1: [u8; 4],
3733 pub Index: u16,
3734 pub Reserved2: u16,
3735 }
3736 impl ::core::marker::Copy for _URB_CONTROL_GET_STATUS_REQUEST {}
3737 impl ::core::clone::Clone for _URB_CONTROL_GET_STATUS_REQUEST {
3738 fn clone(&self) -> Self {
3739 *self
3740 }
3741 }
3742 #[repr(C)]
3743 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3744 pub struct _URB_CONTROL_TRANSFER {
3745 pub Hdr: _URB_HEADER,
3746 pub PipeHandle: *mut ::core::ffi::c_void,
3747 pub TransferFlags: u32,
3748 pub TransferBufferLength: u32,
3749 pub TransferBuffer: *mut ::core::ffi::c_void,
3750 pub TransferBufferMDL: *mut ::core::ffi::c_void,
3751 pub UrbLink: *mut URB,
3752 pub hca: _URB_HCD_AREA,
3753 pub SetupPacket: [u8; 8],
3754 }
3755 impl ::core::marker::Copy for _URB_CONTROL_TRANSFER {}
3756 impl ::core::clone::Clone for _URB_CONTROL_TRANSFER {
3757 fn clone(&self) -> Self {
3758 *self
3759 }
3760 }
3761 #[repr(C)]
3762 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3763 pub struct _URB_CONTROL_TRANSFER_EX {
3764 pub Hdr: _URB_HEADER,
3765 pub PipeHandle: *mut ::core::ffi::c_void,
3766 pub TransferFlags: u32,
3767 pub TransferBufferLength: u32,
3768 pub TransferBuffer: *mut ::core::ffi::c_void,
3769 pub TransferBufferMDL: *mut ::core::ffi::c_void,
3770 pub Timeout: u32,
3771 pub hca: _URB_HCD_AREA,
3772 pub SetupPacket: [u8; 8],
3773 }
3774 impl ::core::marker::Copy for _URB_CONTROL_TRANSFER_EX {}
3775 impl ::core::clone::Clone for _URB_CONTROL_TRANSFER_EX {
3776 fn clone(&self) -> Self {
3777 *self
3778 }
3779 }
3780 #[repr(C)]
3781 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3782 pub struct _URB_CONTROL_VENDOR_OR_CLASS_REQUEST {
3783 pub Hdr: _URB_HEADER,
3784 pub Reserved: *mut ::core::ffi::c_void,
3785 pub TransferFlags: u32,
3786 pub TransferBufferLength: u32,
3787 pub TransferBuffer: *mut ::core::ffi::c_void,
3788 pub TransferBufferMDL: *mut ::core::ffi::c_void,
3789 pub UrbLink: *mut URB,
3790 pub hca: _URB_HCD_AREA,
3791 pub RequestTypeReservedBits: u8,
3792 pub Request: u8,
3793 pub Value: u16,
3794 pub Index: u16,
3795 pub Reserved1: u16,
3796 }
3797 impl ::core::marker::Copy for _URB_CONTROL_VENDOR_OR_CLASS_REQUEST {}
3798 impl ::core::clone::Clone for _URB_CONTROL_VENDOR_OR_CLASS_REQUEST {
3799 fn clone(&self) -> Self {
3800 *self
3801 }
3802 }
3803 #[repr(C)]
3804 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3805 pub struct _URB_FRAME_LENGTH_CONTROL {
3806 pub Hdr: _URB_HEADER,
3807 }
3808 impl ::core::marker::Copy for _URB_FRAME_LENGTH_CONTROL {}
3809 impl ::core::clone::Clone for _URB_FRAME_LENGTH_CONTROL {
3810 fn clone(&self) -> Self {
3811 *self
3812 }
3813 }
3814 #[repr(C)]
3815 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3816 pub struct _URB_GET_CURRENT_FRAME_NUMBER {
3817 pub Hdr: _URB_HEADER,
3818 pub FrameNumber: u32,
3819 }
3820 impl ::core::marker::Copy for _URB_GET_CURRENT_FRAME_NUMBER {}
3821 impl ::core::clone::Clone for _URB_GET_CURRENT_FRAME_NUMBER {
3822 fn clone(&self) -> Self {
3823 *self
3824 }
3825 }
3826 #[repr(C)]
3827 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3828 pub struct _URB_GET_FRAME_LENGTH {
3829 pub Hdr: _URB_HEADER,
3830 pub FrameLength: u32,
3831 pub FrameNumber: u32,
3832 }
3833 impl ::core::marker::Copy for _URB_GET_FRAME_LENGTH {}
3834 impl ::core::clone::Clone for _URB_GET_FRAME_LENGTH {
3835 fn clone(&self) -> Self {
3836 *self
3837 }
3838 }
3839 #[repr(C)]
3840 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3841 pub struct _URB_GET_ISOCH_PIPE_TRANSFER_PATH_DELAYS {
3842 pub Hdr: _URB_HEADER,
3843 pub PipeHandle: *mut ::core::ffi::c_void,
3844 pub MaximumSendPathDelayInMilliSeconds: u32,
3845 pub MaximumCompletionPathDelayInMilliSeconds: u32,
3846 }
3847 impl ::core::marker::Copy for _URB_GET_ISOCH_PIPE_TRANSFER_PATH_DELAYS {}
3848 impl ::core::clone::Clone for _URB_GET_ISOCH_PIPE_TRANSFER_PATH_DELAYS {
3849 fn clone(&self) -> Self {
3850 *self
3851 }
3852 }
3853 #[repr(C)]
3854 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3855 pub struct _URB_HCD_AREA {
3856 pub Reserved8: [*mut ::core::ffi::c_void; 8],
3857 }
3858 impl ::core::marker::Copy for _URB_HCD_AREA {}
3859 impl ::core::clone::Clone for _URB_HCD_AREA {
3860 fn clone(&self) -> Self {
3861 *self
3862 }
3863 }
3864 #[repr(C)]
3865 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3866 pub struct _URB_HEADER {
3867 pub Length: u16,
3868 pub Function: u16,
3869 pub Status: i32,
3870 pub UsbdDeviceHandle: *mut ::core::ffi::c_void,
3871 pub UsbdFlags: u32,
3872 }
3873 impl ::core::marker::Copy for _URB_HEADER {}
3874 impl ::core::clone::Clone for _URB_HEADER {
3875 fn clone(&self) -> Self {
3876 *self
3877 }
3878 }
3879 #[repr(C)]
3880 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3881 pub struct _URB_ISOCH_TRANSFER {
3882 pub Hdr: _URB_HEADER,
3883 pub PipeHandle: *mut ::core::ffi::c_void,
3884 pub TransferFlags: u32,
3885 pub TransferBufferLength: u32,
3886 pub TransferBuffer: *mut ::core::ffi::c_void,
3887 pub TransferBufferMDL: *mut ::core::ffi::c_void,
3888 pub UrbLink: *mut URB,
3889 pub hca: _URB_HCD_AREA,
3890 pub StartFrame: u32,
3891 pub NumberOfPackets: u32,
3892 pub ErrorCount: u32,
3893 pub IsoPacket: [USBD_ISO_PACKET_DESCRIPTOR; 1],
3894 }
3895 impl ::core::marker::Copy for _URB_ISOCH_TRANSFER {}
3896 impl ::core::clone::Clone for _URB_ISOCH_TRANSFER {
3897 fn clone(&self) -> Self {
3898 *self
3899 }
3900 }
3901 #[repr(C)]
3902 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3903 pub struct _URB_OPEN_STATIC_STREAMS {
3904 pub Hdr: _URB_HEADER,
3905 pub PipeHandle: *mut ::core::ffi::c_void,
3906 pub NumberOfStreams: u32,
3907 pub StreamInfoVersion: u16,
3908 pub StreamInfoSize: u16,
3909 pub Streams: *mut USBD_STREAM_INFORMATION,
3910 }
3911 impl ::core::marker::Copy for _URB_OPEN_STATIC_STREAMS {}
3912 impl ::core::clone::Clone for _URB_OPEN_STATIC_STREAMS {
3913 fn clone(&self) -> Self {
3914 *self
3915 }
3916 }
3917 #[repr(C)]
3918 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3919 pub struct _URB_OS_FEATURE_DESCRIPTOR_REQUEST {
3920 pub Hdr: _URB_HEADER,
3921 pub Reserved: *mut ::core::ffi::c_void,
3922 pub Reserved0: u32,
3923 pub TransferBufferLength: u32,
3924 pub TransferBuffer: *mut ::core::ffi::c_void,
3925 pub TransferBufferMDL: *mut ::core::ffi::c_void,
3926 pub UrbLink: *mut URB,
3927 pub hca: _URB_HCD_AREA,
3928 pub _bitfield: u8,
3929 pub Reserved2: u8,
3930 pub InterfaceNumber: u8,
3931 pub MS_PageIndex: u8,
3932 pub MS_FeatureDescriptorIndex: u16,
3933 pub Reserved3: u16,
3934 }
3935 impl ::core::marker::Copy for _URB_OS_FEATURE_DESCRIPTOR_REQUEST {}
3936 impl ::core::clone::Clone for _URB_OS_FEATURE_DESCRIPTOR_REQUEST {
3937 fn clone(&self) -> Self {
3938 *self
3939 }
3940 }
3941 #[repr(C)]
3942 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3943 pub struct _URB_PIPE_REQUEST {
3944 pub Hdr: _URB_HEADER,
3945 pub PipeHandle: *mut ::core::ffi::c_void,
3946 pub Reserved: u32,
3947 }
3948 impl ::core::marker::Copy for _URB_PIPE_REQUEST {}
3949 impl ::core::clone::Clone for _URB_PIPE_REQUEST {
3950 fn clone(&self) -> Self {
3951 *self
3952 }
3953 }
3954 #[repr(C)]
3955 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3956 pub struct _URB_SELECT_CONFIGURATION {
3957 pub Hdr: _URB_HEADER,
3958 pub ConfigurationDescriptor: *mut USB_CONFIGURATION_DESCRIPTOR,
3959 pub ConfigurationHandle: *mut ::core::ffi::c_void,
3960 pub Interface: USBD_INTERFACE_INFORMATION,
3961 }
3962 impl ::core::marker::Copy for _URB_SELECT_CONFIGURATION {}
3963 impl ::core::clone::Clone for _URB_SELECT_CONFIGURATION {
3964 fn clone(&self) -> Self {
3965 *self
3966 }
3967 }
3968 #[repr(C)]
3969 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3970 pub struct _URB_SELECT_INTERFACE {
3971 pub Hdr: _URB_HEADER,
3972 pub ConfigurationHandle: *mut ::core::ffi::c_void,
3973 pub Interface: USBD_INTERFACE_INFORMATION,
3974 }
3975 impl ::core::marker::Copy for _URB_SELECT_INTERFACE {}
3976 impl ::core::clone::Clone for _URB_SELECT_INTERFACE {
3977 fn clone(&self) -> Self {
3978 *self
3979 }
3980 }
3981 #[repr(C)]
3982 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3983 pub struct _URB_SET_FRAME_LENGTH {
3984 pub Hdr: _URB_HEADER,
3985 pub FrameLengthDelta: i32,
3986 }
3987 impl ::core::marker::Copy for _URB_SET_FRAME_LENGTH {}
3988 impl ::core::clone::Clone for _URB_SET_FRAME_LENGTH {
3989 fn clone(&self) -> Self {
3990 *self
3991 }
3992 }
3993 #[doc = "*Required features: `\"Win32_Devices_Usb\"`*"]
3994 pub type USB_IDLE_CALLBACK = ::core::option::Option<unsafe extern "system" fn(context: *const ::core::ffi::c_void)>;