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)
93typedef 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)
111typedef 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)
342typedef struct _USB_HUB_CAPABILITIES {
343 ULONG HubIs2xCapable:1;
344} USB_HUB_CAPABILITIES, *PUSB_HUB_CAPABILITIES;
346typedef struct _USB_NODE_CONNECTION_ATTRIBUTES {
347 ULONG ConnectionIndex;
349 ULONG PortAttributes;
350} USB_NODE_CONNECTION_ATTRIBUTES, *PUSB_NODE_CONNECTION_ATTRIBUTES;
352typedef 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)
370typedef 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;
386typedef struct _USB_HUB_CAPABILITIES_EX {
388} USB_HUB_CAPABILITIES_EX, *PUSB_HUB_CAPABILITIES_EX;
390typedef struct _USB_CYCLE_PORT_PARAMS {
391 ULONG ConnectionIndex;
392 ULONG StatusReturned;
393} USB_CYCLE_PORT_PARAMS, *PUSB_CYCLE_PORT_PARAMS;
395typedef struct _USB_ID_STRING {
400} USB_ID_STRING, *PUSB_ID_STRING;
402typedef 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;
412typedef 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'
552typedef enum _USB_WMI_DEVICE_NODE_TYPE {
557} USB_WMI_DEVICE_NODE_TYPE, *PUSB_WMI_DEVICE_NODE_TYPE;
559typedef struct _USB_DEVICE_STATE {
561 ULONG DeviceStarted:1;
562} USB_DEVICE_STATE, *PUSB_DEVICE_STATE;
564typedef struct _USB_HUB_PORT_INFORMATION {
568 ULONG ConnectionIndex;
570} USB_HUB_PORT_INFORMATION, *PUSB_HUB_PORT_INFORMATION;
572typedef struct _USB_HUB_DEVICE_INFO {
578 USB_HUB_CAPABILITIES HubCapabilities;
579 ULONG NumberOfHubPorts;
581} USB_HUB_DEVICE_INFO, *PUSB_HUB_DEVICE_INFO;
583typedef struct _USB_COMPOSITE_FUNCTION_INFO {
584 UCHAR FunctionNumber;
585 UCHAR BaseInterfaceNumber;
586 UCHAR NumberOfInterfaces;
588} USB_COMPOSITE_FUNCTION_INFO, *PUSB_COMPOSITE_FUNCTION_INFO;
590typedef struct _USB_COMPOSITE_DEVICE_INFO {
593 UCHAR CurrentConfigurationValue;
594 UCHAR NumberOfFunctions;
596} USB_COMPOSITE_DEVICE_INFO, *PUSB_COMPOSITE_DEVICE_INFO;
598typedef struct _USB_CONTROLLER_DEVICE_INFO {
602 ULONG NumberOfRootPorts;
603 ULONG HcFeatureFlags;
604} USB_CONTROLLER_DEVICE_INFO, *PUSB_CONTROLLER_DEVICE_INFO;
606typedef 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;
623typedef 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;
638typedef 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;
672#define IOCTL_USB_GET_PORT_STATUS \
673 CTL_CODE(FILE_DEVICE_USB, USB_GET_PORT_STATUS, METHOD_BUFFERED, FILE_ANY_ACCESS)
675#define IOCTL_USB_GET_HUB_INFORMATION_EX \
676 CTL_CODE(FILE_DEVICE_USB, USB_GET_HUB_INFORMATION_EX, METHOD_BUFFERED, FILE_ANY_ACCESS)
678#define IOCTL_USB_GET_PORT_CONNECTOR_PROPERTIES \
679 CTL_CODE(FILE_DEVICE_USB, USB_GET_PORT_CONNECTOR_PROPERTIES, METHOD_BUFFERED, FILE_ANY_ACCESS)
681#define IOCTL_USB_GET_NODE_CONNECTION_INFORMATION_EX_V2 \
682 CTL_CODE(FILE_DEVICE_USB, USB_GET_NODE_CONNECTION_INFORMATION_EX_V2, METHOD_BUFFERED, FILE_ANY_ACCESS)
760#define IOCTL_INTERNAL_USB_REGISTER_COMPOSITE_DEVICE \
761 CTL_CODE(FILE_DEVICE_USBEX, USB_REGISTER_COMPOSITE_DEVICE, METHOD_NEITHER, FILE_ANY_ACCESS)
763#define IOCTL_INTERNAL_USB_UNREGISTER_COMPOSITE_DEVICE \
764 CTL_CODE(FILE_DEVICE_USBEX, USB_UNREGISTER_COMPOSITE_DEVICE, METHOD_NEITHER, FILE_ANY_ACCESS)
766#define IOCTL_INTERNAL_USB_REQUEST_REMOTE_WAKE_NOTIFICATION \
767 CTL_CODE(FILE_DEVICE_USBEX, USB_REQUEST_REMOTE_WAKE_NOTIFICATION, METHOD_NEITHER, FILE_ANY_ACCESS)
769#define IOCTL_INTERNAL_USB_FAIL_GET_STATUS_FROM_DEVICE \
770 CTL_CODE(FILE_DEVICE_USB, USB_FAIL_GET_STATUS, METHOD_NEITHER, FILE_ANY_ACCESS)
_Check_return_ _In_ ULONG _Inout_ PDXGK_DEVICE_DESCRIPTOR DeviceDescriptor
_In_ UCXUSBDEVICE UsbDevice
_In_ PUSBD_PIPE_INFORMATION _In_ USB_DEVICE_SPEED DeviceSpeed
_In_ HubPort _In_ USHORT _Out_ PUSHORT DeviceAddress
macro TEXTAREA section xr p2align endm macro DATAAREA section dw endm macro RODATAAREA section dr endm macro EXPORT Attribute global Name endm macro IMPORT Target ifc WEAK weak Name set Target endif endm set macro SET_COMDAT_ALIGNMENT Alignment set Alignment endm macro NESTED_ENTRY Name global Name p2align xr p2align __ComdatAlignment NESTED_ENTRY Name endm macro ALTERNATE_ENTRY Name global Name Params endm macro ALIGN Pad
_In_ ULONG _In_ ULONG _In_ ULONG Length
USHORT SmallestUrbPacketCount
ULONG IsoBytesTransferred
USHORT IsoPacketNotAccesed
USHORT DoubleBufferedPackets
USHORT MaxInterruptLatency
USHORT LargestUrbPacketCount
USHORT InternalHcErrorCount
USHORT DataOverrunErrorCount
USHORT ScheduleOverrunCount
USHORT BufferOverrunErrorCount
USB_NOTIFICATION_TYPE NotificationType
USB_NOTIFICATION_TYPE NotificationType
ULONG ControllerNameLength
USB_NOTIFICATION_TYPE NotificationType
ULONG EnumerationFailReason
struct _USB_DESCRIPTOR_REQUEST::@4156 SetupPacket
WCHAR DriverKeyName[ANYSIZE_ARRAY]
WCHAR HubName[ANYSIZE_ARRAY]
WCHAR DriverKeyName[ANYSIZE_ARRAY]
WCHAR NodeName[ANYSIZE_ARRAY]
USB_NOTIFICATION_TYPE NotificationType
USB_ENDPOINT_DESCRIPTOR EndpointDescriptor
USHORT CompanionPortNumber
WCHAR CompanionHubSymbolicLinkName[1]
USB_PORT_PROPERTIES UsbPortProperties
WCHAR RootHubName[ANYSIZE_ARRAY]
ULONG PortIsUserConnectable
ULONG PortConnectorIsTypeC
ULONG PortHasMultipleCompanions
enum _USB_DEVICE_SPEED USB_DEVICE_SPEED
_In_ COMPOSITE_DEVICE_CAPABILITIES CapabilityFlags
struct _USB_HUB_NAME USB_HUB_NAME
struct _USB_NODE_CONNECTION_NAME * PUSB_NODE_CONNECTION_NAME
struct _USB_HUB_INFORMATION USB_HUB_INFORMATION
struct _USB_PIPE_INFO * PUSB_PIPE_INFO
struct _USB_NODE_CONNECTION_DRIVERKEY_NAME USB_NODE_CONNECTION_DRIVERKEY_NAME
struct _USB_CONNECTION_NOTIFICATION * PUSB_CONNECTION_NOTIFICATION
struct _USB_DESCRIPTOR_REQUEST USB_DESCRIPTOR_REQUEST
enum _USB_HUB_TYPE USB_HUB_TYPE
union _USB_PROTOCOLS USB_PROTOCOLS
struct _USB_HCD_DRIVERKEY_NAME USB_HCD_DRIVERKEY_NAME
struct _USB_NODE_INFORMATION USB_NODE_INFORMATION
struct _USB_NODE_CONNECTION_INFORMATION * PUSB_NODE_CONNECTION_INFORMATION
struct _USB_HUB_INFORMATION_EX * PUSB_HUB_INFORMATION_EX
struct _USB_NODE_CONNECTION_INFORMATION_EX_V2 USB_NODE_CONNECTION_INFORMATION_EX_V2
struct _USB_PORT_CONNECTOR_PROPERTIES * PUSB_PORT_CONNECTOR_PROPERTIES
union _USB_NODE_CONNECTION_INFORMATION_EX_V2_FLAGS * PUSB_NODE_CONNECTION_INFORMATION_EX_V2_FLAGS
struct _USB_NODE_CONNECTION_INFORMATION USB_NODE_CONNECTION_INFORMATION
struct _USB_PORT_CONNECTOR_PROPERTIES USB_PORT_CONNECTOR_PROPERTIES
struct _USB_NODE_CONNECTION_DRIVERKEY_NAME * PUSB_NODE_CONNECTION_DRIVERKEY_NAME
struct _HCD_ISO_STAT_COUNTERS HCD_ISO_STAT_COUNTERS
union _USB_PORT_PROPERTIES * PUSB_PORT_PROPERTIES
struct _HCD_STAT_INFORMATION_1 * PHCD_STAT_INFORMATION_1
struct _USB_ROOT_HUB_NAME USB_ROOT_HUB_NAME
enum _USB_NOTIFICATION_TYPE USB_NOTIFICATION_TYPE
struct _USB_PIPE_INFO USB_PIPE_INFO
enum _USB_HUB_NODE USB_HUB_NODE
enum _USB_CONNECTION_STATUS USB_CONNECTION_STATUS
struct _USB_HUB_NAME * PUSB_HUB_NAME
struct _USB_NODE_CONNECTION_NAME USB_NODE_CONNECTION_NAME
struct _USB_ROOT_HUB_NAME * PUSB_ROOT_HUB_NAME
struct _USB_HUB_INFORMATION_EX USB_HUB_INFORMATION_EX
union _USB_NODE_CONNECTION_INFORMATION_EX_V2_FLAGS USB_NODE_CONNECTION_INFORMATION_EX_V2_FLAGS
struct _USB_HUB_INFORMATION * PUSB_HUB_INFORMATION
struct _USB_NODE_INFORMATION * PUSB_NODE_INFORMATION
struct _USB_NOTIFICATION USB_NOTIFICATION
struct _USB_ACQUIRE_INFO * PUSB_ACQUIRE_INFO
struct _USB_NOTIFICATION * PUSB_NOTIFICATION
struct _USB_MI_PARENT_INFORMATION USB_MI_PARENT_INFORMATION
struct _USB_BUS_NOTIFICATION * PUSB_BUS_NOTIFICATION
struct _USB_BUS_NOTIFICATION USB_BUS_NOTIFICATION
struct _USB_HCD_DRIVERKEY_NAME * PUSB_HCD_DRIVERKEY_NAME
struct _HCD_STAT_COUNTERS * PHCD_STAT_COUNTERS
struct _HCD_STAT_INFORMATION_2 HCD_STAT_INFORMATION_2
struct _USB_DESCRIPTOR_REQUEST * PUSB_DESCRIPTOR_REQUEST
struct _USB_MI_PARENT_INFORMATION * PUSB_MI_PARENT_INFORMATION
struct _HCD_STAT_INFORMATION_2 * PHCD_STAT_INFORMATION_2
struct _USB_CONNECTION_NOTIFICATION USB_CONNECTION_NOTIFICATION
@ DeviceFailedEnumeration
@ DeviceCausedOvercurrent
@ DeviceNotEnoughBandwidth
struct _USB_NODE_CONNECTION_INFORMATION_EX_V2 * PUSB_NODE_CONNECTION_INFORMATION_EX_V2
struct _HCD_STAT_INFORMATION_1 HCD_STAT_INFORMATION_1
enum _USB_CONNECTION_STATUS * PUSB_CONNECTION_STATUS
struct _HCD_ISO_STAT_COUNTERS * PHCD_ISO_STAT_COUNTERS
struct _HCD_STAT_COUNTERS HCD_STAT_COUNTERS
struct _USB_ACQUIRE_INFO USB_ACQUIRE_INFO
union _USB_PROTOCOLS * PUSB_PROTOCOLS
union _USB_PORT_PROPERTIES USB_PORT_PROPERTIES
_In_ WDFDEVICE _Out_ PWDF_DEVICE_STATE DeviceState
_Must_inspect_result_ _In_ WDFDEVICE _In_ LPCGUID _Out_ PINTERFACE _In_ USHORT _In_ USHORT Version
_Must_inspect_result_ _In_ PWDFDEVICE_INIT _In_ PCUNICODE_STRING DeviceDescription
_In_ NTSTATUS _In_ USBD_STATUS UsbdStatus
_Reserved_ PVOID Reserved
_In_ ULONG _In_ PHYSICAL_ADDRESS BusAddress