32 #define IOCTL_INTERNAL_USB_SUBMIT_URB \ 33 CTL_CODE(FILE_DEVICE_USB, USB_SUBMIT_URB, METHOD_NEITHER, FILE_ANY_ACCESS) 35 #define IOCTL_INTERNAL_USB_RESET_PORT \ 36 CTL_CODE(FILE_DEVICE_USB, USB_RESET_PORT, METHOD_NEITHER, FILE_ANY_ACCESS) 38 #define IOCTL_INTERNAL_USB_GET_ROOTHUB_PDO \ 39 CTL_CODE(FILE_DEVICE_USB, USB_GET_ROOTHUB_PDO, METHOD_NEITHER, FILE_ANY_ACCESS) 41 #define USBD_PORT_ENABLED 1 42 #define USBD_PORT_CONNECTED 2 44 #define IOCTL_INTERNAL_USB_GET_PORT_STATUS \ 45 CTL_CODE(FILE_DEVICE_USB, USB_GET_PORT_STATUS, METHOD_NEITHER, FILE_ANY_ACCESS) 47 #define IOCTL_INTERNAL_USB_ENABLE_PORT \ 48 CTL_CODE(FILE_DEVICE_USB, USB_ENABLE_PORT, METHOD_NEITHER, FILE_ANY_ACCESS) 50 #define IOCTL_INTERNAL_USB_GET_HUB_COUNT \ 51 CTL_CODE(FILE_DEVICE_USB, USB_GET_HUB_COUNT, METHOD_NEITHER, FILE_ANY_ACCESS) 53 #define IOCTL_INTERNAL_USB_CYCLE_PORT \ 54 CTL_CODE(FILE_DEVICE_USB, USB_CYCLE_PORT, METHOD_NEITHER, FILE_ANY_ACCESS) 56 #define IOCTL_INTERNAL_USB_GET_HUB_NAME \ 57 CTL_CODE(FILE_DEVICE_USB, USB_GET_HUB_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS) 59 #define IOCTL_INTERNAL_USB_GET_BUS_INFO \ 60 CTL_CODE(FILE_DEVICE_USB, USB_GET_BUS_INFO, METHOD_BUFFERED, FILE_ANY_ACCESS) 62 #define IOCTL_INTERNAL_USB_GET_CONTROLLER_NAME \ 63 CTL_CODE(FILE_DEVICE_USB, USB_GET_CONTROLLER_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS) 65 #define IOCTL_INTERNAL_USB_GET_BUSGUID_INFO \ 66 CTL_CODE(FILE_DEVICE_USB, USB_GET_BUSGUID_INFO, METHOD_BUFFERED, FILE_ANY_ACCESS) 68 #define IOCTL_INTERNAL_USB_GET_PARENT_HUB_INFO \ 69 CTL_CODE(FILE_DEVICE_USB, USB_GET_PARENT_HUB_INFO, METHOD_BUFFERED, FILE_ANY_ACCESS) 71 #if (_WIN32_WINNT >= 0x0501) 73 #define IOCTL_INTERNAL_USB_SUBMIT_IDLE_NOTIFICATION \ 74 CTL_CODE(FILE_DEVICE_USB, USB_IDLE_NOTIFICATION, METHOD_NEITHER, FILE_ANY_ACCESS) 76 #define IOCTL_INTERNAL_USB_GET_DEVICE_HANDLE \ 77 CTL_CODE(FILE_DEVICE_USB, USB_GET_DEVICE_HANDLE, METHOD_NEITHER, FILE_ANY_ACCESS) 81 #if (_WIN32_WINNT >= 0x0600) 83 #define IOCTL_INTERNAL_USB_NOTIFY_IDLE_READY \ 84 CTL_CODE(FILE_DEVICE_USB, USB_IDLE_NOTIFICATION_EX, METHOD_NEITHER, FILE_ANY_ACCESS) 86 #define IOCTL_INTERNAL_USB_REQ_GLOBAL_SUSPEND \ 87 CTL_CODE(FILE_DEVICE_USB, USB_REQ_GLOBAL_SUSPEND, METHOD_NEITHER, FILE_ANY_ACCESS) 89 #define IOCTL_INTERNAL_USB_REQ_GLOBAL_RESUME \ 90 CTL_CODE(FILE_DEVICE_USB, USB_REQ_GLOBAL_RESUME, METHOD_NEITHER, FILE_ANY_ACCESS) 93 typedef struct _USB_START_FAILDATA {
99 } USB_START_FAILDATA, *PUSB_START_FAILDATA;
102 #define IOCTL_INTERNAL_USB_RECORD_FAILURE \ 103 CTL_CODE(FILE_DEVICE_USB, USB_RECORD_FAILURE, METHOD_NEITHER, FILE_ANY_ACCESS) 105 #define IOCTL_INTERNAL_USB_GET_DEVICE_HANDLE_EX \ 106 CTL_CODE(FILE_DEVICE_USB, USB_GET_DEVICE_HANDLE_EX, METHOD_NEITHER, FILE_ANY_ACCESS) 108 #define IOCTL_INTERNAL_USB_GET_TT_DEVICE_HANDLE \ 109 CTL_CODE(FILE_DEVICE_USB, USB_GET_TT_DEVICE_HANDLE, METHOD_NEITHER, FILE_ANY_ACCESS) 111 typedef struct _USB_TOPOLOGY_ADDRESS {
113 ULONG PciDeviceNumber;
114 ULONG PciFunctionNumber;
119 } USB_TOPOLOGY_ADDRESS, *PUSB_TOPOLOGY_ADDRESS;
121 #define IOCTL_INTERNAL_USB_GET_TOPOLOGY_ADDRESS \ 122 CTL_CODE(FILE_DEVICE_USB, USB_GET_TOPOLOGY_ADDRESS, METHOD_NEITHER, FILE_ANY_ACCESS) 124 #define IOCTL_INTERNAL_USB_GET_DEVICE_CONFIG_INFO \ 125 CTL_CODE(FILE_DEVICE_USB, USB_GET_HUB_CONFIG_INFO, METHOD_NEITHER, FILE_ANY_ACCESS) 129 #ifndef USB_KERNEL_IOCTL 131 #define IOCTL_USB_HCD_GET_STATS_1 \ 132 CTL_CODE(FILE_DEVICE_USB, HCD_GET_STATS_1, METHOD_BUFFERED, FILE_ANY_ACCESS) 134 #define IOCTL_USB_HCD_GET_STATS_2 \ 135 CTL_CODE(FILE_DEVICE_USB, HCD_GET_STATS_2, METHOD_BUFFERED, FILE_ANY_ACCESS) 137 #define IOCTL_USB_HCD_DISABLE_PORT \ 138 CTL_CODE(FILE_DEVICE_USB, HCD_DISABLE_PORT, METHOD_BUFFERED, FILE_ANY_ACCESS) 140 #define IOCTL_USB_HCD_ENABLE_PORT \ 141 CTL_CODE(FILE_DEVICE_USB, HCD_ENABLE_PORT, METHOD_BUFFERED, FILE_ANY_ACCESS) 143 #define IOCTL_USB_HCD_DISABLE_PORT \ 144 CTL_CODE(FILE_DEVICE_USB, HCD_DISABLE_PORT, METHOD_BUFFERED, FILE_ANY_ACCESS) 146 #define IOCTL_USB_HCD_ENABLE_PORT \ 147 CTL_CODE(FILE_DEVICE_USB, HCD_ENABLE_PORT, METHOD_BUFFERED, FILE_ANY_ACCESS) 149 #ifndef IOCTL_USB_DIAGNOSTIC_MODE_OFF 150 #define IOCTL_USB_DIAGNOSTIC_MODE_OFF \ 151 CTL_CODE(FILE_DEVICE_USB, HCD_DIAGNOSTIC_MODE_OFF, METHOD_BUFFERED, FILE_ANY_ACCESS) 154 #ifndef IOCTL_USB_DIAGNOSTIC_MODE_ON 155 #define IOCTL_USB_DIAGNOSTIC_MODE_ON \ 156 CTL_CODE(FILE_DEVICE_USB, HCD_DIAGNOSTIC_MODE_ON, METHOD_BUFFERED, FILE_ANY_ACCESS) 159 #ifndef IOCTL_USB_GET_ROOT_HUB_NAME 160 #define IOCTL_USB_GET_ROOT_HUB_NAME \ 161 CTL_CODE(FILE_DEVICE_USB, HCD_GET_ROOT_HUB_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS) 164 #ifndef IOCTL_GET_HCD_DRIVERKEY_NAME 165 #define IOCTL_GET_HCD_DRIVERKEY_NAME \ 166 CTL_CODE(FILE_DEVICE_USB, HCD_GET_DRIVERKEY_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS) 169 #define IOCTL_USB_GET_NODE_INFORMATION \ 170 CTL_CODE(FILE_DEVICE_USB, USB_GET_NODE_INFORMATION, METHOD_BUFFERED, FILE_ANY_ACCESS) 172 #define IOCTL_USB_GET_NODE_CONNECTION_INFORMATION \ 173 CTL_CODE(FILE_DEVICE_USB, USB_GET_NODE_CONNECTION_INFORMATION, METHOD_BUFFERED, FILE_ANY_ACCESS) 175 #define IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION \ 176 CTL_CODE(FILE_DEVICE_USB, USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION, METHOD_BUFFERED, FILE_ANY_ACCESS) 178 #define IOCTL_USB_GET_NODE_CONNECTION_NAME \ 179 CTL_CODE(FILE_DEVICE_USB, USB_GET_NODE_CONNECTION_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS) 181 #define IOCTL_USB_DIAG_IGNORE_HUBS_ON \ 182 CTL_CODE(FILE_DEVICE_USB, USB_DIAG_IGNORE_HUBS_ON, METHOD_BUFFERED, FILE_ANY_ACCESS) 184 #define IOCTL_USB_DIAG_IGNORE_HUBS_OFF \ 185 CTL_CODE(FILE_DEVICE_USB, USB_DIAG_IGNORE_HUBS_OFF, METHOD_BUFFERED, FILE_ANY_ACCESS) 187 #define IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME \ 188 CTL_CODE(FILE_DEVICE_USB, USB_GET_NODE_CONNECTION_DRIVERKEY_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS) 190 #if (_WIN32_WINNT >= 0x0501) 192 #define IOCTL_USB_GET_HUB_CAPABILITIES \ 193 CTL_CODE(FILE_DEVICE_USB, USB_GET_HUB_CAPABILITIES, METHOD_BUFFERED, FILE_ANY_ACCESS) 195 #define IOCTL_USB_HUB_CYCLE_PORT \ 196 CTL_CODE(FILE_DEVICE_USB, USB_HUB_CYCLE_PORT, METHOD_BUFFERED, FILE_ANY_ACCESS) 198 #define IOCTL_USB_GET_NODE_CONNECTION_ATTRIBUTES \ 199 CTL_CODE(FILE_DEVICE_USB, USB_GET_NODE_CONNECTION_ATTRIBUTES, METHOD_BUFFERED, FILE_ANY_ACCESS) 201 #define IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX \ 202 CTL_CODE(FILE_DEVICE_USB, USB_GET_NODE_CONNECTION_INFORMATION_EX, METHOD_BUFFERED, FILE_ANY_ACCESS) 206 #if (_WIN32_WINNT >= 0x0600) 208 #define IOCTL_USB_RESET_HUB \ 209 CTL_CODE(FILE_DEVICE_USB, USB_RESET_HUB, METHOD_BUFFERED, FILE_ANY_ACCESS) 211 #define IOCTL_USB_GET_HUB_CAPABILITIES_EX \ 212 CTL_CODE(FILE_DEVICE_USB, USB_GET_HUB_CAPABILITIES_EX, METHOD_BUFFERED, FILE_ANY_ACCESS) 245 #if (_WIN32_WINNT >= 0x0600) 255 DeviceHubNestedTooDeeply,
261 #elif (_WIN32_WINNT >= 0x0501) 271 DeviceHubNestedTooDeeply,
340 #if (_WIN32_WINNT >= 0x0501) 342 typedef struct _USB_HUB_CAPABILITIES {
343 ULONG HubIs2xCapable:1;
344 } USB_HUB_CAPABILITIES, *PUSB_HUB_CAPABILITIES;
346 typedef struct _USB_NODE_CONNECTION_ATTRIBUTES {
347 ULONG ConnectionIndex;
349 ULONG PortAttributes;
350 } USB_NODE_CONNECTION_ATTRIBUTES, *PUSB_NODE_CONNECTION_ATTRIBUTES;
352 typedef struct _USB_NODE_CONNECTION_INFORMATION_EX {
353 ULONG ConnectionIndex;
355 UCHAR CurrentConfigurationValue;
359 ULONG NumberOfOpenPipes;
362 } USB_NODE_CONNECTION_INFORMATION_EX, *PUSB_NODE_CONNECTION_INFORMATION_EX;
368 #if (_WIN32_WINNT >= 0x0600) 370 typedef union _USB_HUB_CAP_FLAGS {
373 ULONG HubIsHighSpeedCapable:1;
374 ULONG HubIsHighSpeed:1;
375 ULONG HubIsMultiTtCapable:1;
376 ULONG HubIsMultiTt:1;
378 ULONG HubIsArmedWakeOnConnect:1;
379 ULONG HubIsBusPowered:1;
380 ULONG ReservedMBZ:25;
382 } USB_HUB_CAP_FLAGS, *PUSB_HUB_CAP_FLAGS;
386 typedef struct _USB_HUB_CAPABILITIES_EX {
387 USB_HUB_CAP_FLAGS CapabilityFlags;
388 } USB_HUB_CAPABILITIES_EX, *PUSB_HUB_CAPABILITIES_EX;
390 typedef struct _USB_CYCLE_PORT_PARAMS {
391 ULONG ConnectionIndex;
392 ULONG StatusReturned;
393 } USB_CYCLE_PORT_PARAMS, *PUSB_CYCLE_PORT_PARAMS;
395 typedef struct _USB_ID_STRING {
400 } USB_ID_STRING, *PUSB_ID_STRING;
402 typedef struct _USB_HUB_DEVICE_UXD_SETTINGS {
406 ULONG DeleteOnShutdown;
407 ULONG DeleteOnReload;
408 ULONG DeleteOnDisconnect;
410 } USB_HUB_DEVICE_UXD_SETTINGS, *PUSB_HUB_DEVICE_UXD_SETTINGS;
412 typedef struct _HUB_DEVICE_CONFIG_INFO_V1 {
415 USB_HUB_CAP_FLAGS HubFlags;
416 USB_ID_STRING HardwareIds;
417 USB_ID_STRING CompatibleIds;
420 USB_HUB_DEVICE_UXD_SETTINGS UxdSettings;
421 } HUB_DEVICE_CONFIG_INFO, *PHUB_DEVICE_CONFIG_INFO;
480 #define WMI_USB_DRIVER_INFORMATION 0 481 #define WMI_USB_DRIVER_NOTIFICATION 1 482 #define WMI_USB_POWER_DEVICE_ENABLE 2 483 #define WMI_USB_HUB_NODE_INFORMATION 4 485 #define WMI_USB_PERFORMANCE_INFORMATION 1 486 #define WMI_USB_DEVICE_NODE_INFORMATION 2 488 #if (_WIN32_WINNT >= 0x0501) 502 ModernDeviceInLegacyHub
548 #if (_WIN32_WINNT >= 0x0600) 550 #define USB_NODE_INFO_SIG 'USBN' 552 typedef enum _USB_WMI_DEVICE_NODE_TYPE {
557 } USB_WMI_DEVICE_NODE_TYPE, *PUSB_WMI_DEVICE_NODE_TYPE;
559 typedef struct _USB_DEVICE_STATE {
561 ULONG DeviceStarted:1;
562 } USB_DEVICE_STATE, *PUSB_DEVICE_STATE;
564 typedef struct _USB_HUB_PORT_INFORMATION {
568 ULONG ConnectionIndex;
570 } USB_HUB_PORT_INFORMATION, *PUSB_HUB_PORT_INFORMATION;
572 typedef struct _USB_HUB_DEVICE_INFO {
578 USB_HUB_CAPABILITIES HubCapabilities;
579 ULONG NumberOfHubPorts;
581 } USB_HUB_DEVICE_INFO, *PUSB_HUB_DEVICE_INFO;
583 typedef struct _USB_COMPOSITE_FUNCTION_INFO {
584 UCHAR FunctionNumber;
585 UCHAR BaseInterfaceNumber;
586 UCHAR NumberOfInterfaces;
588 } USB_COMPOSITE_FUNCTION_INFO, *PUSB_COMPOSITE_FUNCTION_INFO;
590 typedef struct _USB_COMPOSITE_DEVICE_INFO {
593 UCHAR CurrentConfigurationValue;
594 UCHAR NumberOfFunctions;
596 } USB_COMPOSITE_DEVICE_INFO, *PUSB_COMPOSITE_DEVICE_INFO;
598 typedef struct _USB_CONTROLLER_DEVICE_INFO {
602 ULONG NumberOfRootPorts;
603 ULONG HcFeatureFlags;
604 } USB_CONTROLLER_DEVICE_INFO, *PUSB_CONTROLLER_DEVICE_INFO;
606 typedef struct _USB_DEVICE_INFO {
610 UCHAR CurrentConfigurationValue;
613 ULONG ConnectionIndex;
615 WCHAR PnpHardwareId[128];
616 WCHAR PnpCompatibleId[128];
617 WCHAR SerialNumberId[128];
618 WCHAR PnpDeviceDescription[128];
619 ULONG NumberOfOpenPipes;
621 } USB_DEVICE_INFO, *PUSB_DEVICE_INFO;
623 typedef struct _USB_DEVICE_NODE_INFO {
630 USB_DEVICE_INFO UsbDeviceInfo;
631 USB_HUB_DEVICE_INFO HubDeviceInfo;
632 USB_COMPOSITE_DEVICE_INFO CompositeDeviceInfo;
633 USB_CONTROLLER_DEVICE_INFO ControllerDeviceInfo;
634 UCHAR DeviceInformation[4];
636 } USB_DEVICE_NODE_INFO, *PUSB_DEVICE_NODE_INFO;
638 typedef struct _USB_DEVICE_PERFORMANCE_INFO {
640 ULONG ControlDataBytes;
642 ULONG InterruptBytes;
644 ULONG ControlUrbCount;
646 ULONG InterruptUrbCount;
647 ULONG AllocedInterrupt[6];
649 ULONG Total32secBandwidth;
650 ULONG TotalTtBandwidth;
653 ULONG TotalIsoLatency;
654 ULONG DroppedIsoPackets;
655 ULONG TransferErrors;
656 ULONG PciInterruptCount;
658 ULONG HcAsyncIdleState;
659 ULONG HcAsyncCacheFlushCount;
660 ULONG HcPeriodicIdleState;
661 ULONG HcPeriodicCacheFlushCount;
662 } USB_DEVICE_PERFORMANCE_INFO, *PUSB_DEVICE_PERFORMANCE_INFO;
struct _HCD_STAT_INFORMATION_2 HCD_STAT_INFORMATION_2
WCHAR DriverKeyName[ANYSIZE_ARRAY]
struct _USB_NODE_CONNECTION_INFORMATION * PUSB_NODE_CONNECTION_INFORMATION
_In_ ULONG _In_ PHYSICAL_ADDRESS BusAddress
struct _HCD_STAT_INFORMATION_2 * PHCD_STAT_INFORMATION_2
_In_ ULONG _In_ ULONG _In_ ULONG Length
ULONG EnumerationFailReason
USB_NOTIFICATION_TYPE NotificationType
USHORT ScheduleOverrunCount
struct _USB_HUB_NAME USB_HUB_NAME
IN BOOLEAN OUT PSTR Buffer
struct _USB_NODE_INFORMATION * PUSB_NODE_INFORMATION
struct _HCD_STAT_INFORMATION_1 * PHCD_STAT_INFORMATION_1
USHORT BufferOverrunErrorCount
_In_ NTSTATUS _In_ USBD_STATUS UsbdStatus
char * Pad(char *Str, char PadChar, ULONG Length)
USHORT IsoPacketNotAccesed
USHORT LargestUrbPacketCount
ULONG IsoBytesTransferred
struct _USB_NODE_CONNECTION_DRIVERKEY_NAME USB_NODE_CONNECTION_DRIVERKEY_NAME
enum _USB_HUB_NODE USB_HUB_NODE
struct _USB_DESCRIPTOR_REQUEST USB_DESCRIPTOR_REQUEST
enum _USB_NOTIFICATION_TYPE USB_NOTIFICATION_TYPE
_In_ WDFDEVICE _Out_ PWDF_DEVICE_STATE DeviceState
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ PCUNICODE_STRING DeviceDescription
struct _USB_HUB_INFORMATION USB_HUB_INFORMATION
struct _USB_ROOT_HUB_NAME USB_ROOT_HUB_NAME
_In_ PUSB_DEVICE_HANDLE _Out_ PUSHORT DeviceAddress
struct _USB_NODE_CONNECTION_DRIVERKEY_NAME * PUSB_NODE_CONNECTION_DRIVERKEY_NAME
struct _USB_MI_PARENT_INFORMATION * PUSB_MI_PARENT_INFORMATION
USHORT InternalHcErrorCount
ULONG ControllerNameLength
WCHAR HubName[ANYSIZE_ARRAY]
USB_NOTIFICATION_TYPE NotificationType
struct _USB_MI_PARENT_INFORMATION USB_MI_PARENT_INFORMATION
_Reserved_ PVOID Reserved
struct _USB_NODE_CONNECTION_NAME USB_NODE_CONNECTION_NAME
struct _USB_ACQUIRE_INFO USB_ACQUIRE_INFO
struct _HCD_STAT_COUNTERS * PHCD_STAT_COUNTERS
enum _USB_DEVICE_SPEED USB_DEVICE_SPEED
struct _USB_HCD_DRIVERKEY_NAME USB_HCD_DRIVERKEY_NAME
struct _USB_HCD_DRIVERKEY_NAME * PUSB_HCD_DRIVERKEY_NAME
WCHAR NodeName[ANYSIZE_ARRAY]
const KSDEVICE_DESCRIPTOR DeviceDescriptor
struct _USB_DESCRIPTOR_REQUEST::@3217 SetupPacket
USHORT DoubleBufferedPackets
WCHAR RootHubName[ANYSIZE_ARRAY]
struct _USB_NODE_CONNECTION_NAME * PUSB_NODE_CONNECTION_NAME
struct _USB_PIPE_INFO * PUSB_PIPE_INFO
USB_ENDPOINT_DESCRIPTOR EndpointDescriptor
IN PVOID IN PVOID IN USHORT Version
_Must_inspect_result_ _In_ WDFDEVICE _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ WDFUSBDEVICE * UsbDevice
struct _USB_PIPE_INFO USB_PIPE_INFO
struct _USB_NODE_CONNECTION_INFORMATION USB_NODE_CONNECTION_INFORMATION
WCHAR DriverKeyName[ANYSIZE_ARRAY]
USHORT MaxInterruptLatency
struct _USB_CONNECTION_NOTIFICATION USB_CONNECTION_NOTIFICATION
struct _HCD_STAT_COUNTERS HCD_STAT_COUNTERS
struct _USB_CONNECTION_NOTIFICATION * PUSB_CONNECTION_NOTIFICATION
struct _HCD_STAT_INFORMATION_1 HCD_STAT_INFORMATION_1
struct _USB_NOTIFICATION * PUSB_NOTIFICATION
struct _HCD_ISO_STAT_COUNTERS * PHCD_ISO_STAT_COUNTERS
enum _USB_CONNECTION_STATUS USB_CONNECTION_STATUS
enum _USB_CONNECTION_STATUS * PUSB_CONNECTION_STATUS
USHORT SmallestUrbPacketCount
struct _USB_DESCRIPTOR_REQUEST * PUSB_DESCRIPTOR_REQUEST
struct _USB_BUS_NOTIFICATION * PUSB_BUS_NOTIFICATION
struct _USB_BUS_NOTIFICATION USB_BUS_NOTIFICATION
struct _USB_HUB_NAME * PUSB_HUB_NAME
struct _USB_NODE_INFORMATION USB_NODE_INFORMATION
struct _USB_NOTIFICATION USB_NOTIFICATION
struct _HCD_ISO_STAT_COUNTERS HCD_ISO_STAT_COUNTERS
struct _USB_HUB_INFORMATION * PUSB_HUB_INFORMATION
USHORT DataOverrunErrorCount
struct _USB_ACQUIRE_INFO * PUSB_ACQUIRE_INFO
struct _USB_ROOT_HUB_NAME * PUSB_ROOT_HUB_NAME
_In_ PUSBD_PIPE_INFORMATION _In_ USB_DEVICE_SPEED DeviceSpeed
USB_NOTIFICATION_TYPE NotificationType
USB_NOTIFICATION_TYPE NotificationType