14#define HUB_ROOT_PORT_MAX_SPEEDS 48
17#define HUB_FORWARD_PROGRESS_CONTROL 4096
20#define HUB_INTERFACE_CLASS 9
21#define HUB_PROTOCOL_MULTI_TT 2
50 Stack.Parameters.Others.Argument1 = Payload;
53 WdfRequestSetCompletionRoutine(
Request, Completion,
Hub);
176 DPRINT(
"Hub %p root hub has %u 2.0 and %u 3.0 ports\n",
181 DPRINT1(
"Hub %p root hub info failed 0x%lx\n",
Hub,
Params->IoStatus.Status);
220 WDFMEMORY PayloadMemory;
272 DPRINT1(
"Hub %p no memory for the 2.0 port info request\n",
m_Hub);
276 Payload->
Size =
sizeof(*Payload);
305 WDFMEMORY PayloadMemory;
362 DPRINT1(
"Hub %p no memory for the 3.0 port info request\n",
m_Hub);
366 Payload->
Size =
sizeof(*Payload);
425 WDFMEMORY PayloadMemory;
445 DPRINT1(
"Hub %p no memory for the UCX hub info request\n",
m_Hub);
452 Payload->Header.Size =
sizeof(*Payload);
498 Info.NumberOfPipes = 1;
514 DPRINT1(
"Hub %p forward progress notification failed 0x%lx\n",
Hub,
Status);
UCXHUB_CONTROLLER_INFO_V2 m_ControllerInfo
PUSB_CONFIGURATION_DESCRIPTOR m_ConfigDescriptor
PROOTHUB_30PORT_INFO_EX * m_Root30Ports
VOID SetFlag(_In_ HubFlag Flag)
UCXHUB_ROOTHUB_INFO m_RootHubInfo
WDFIOTARGET m_RootHubTarget
PROOTHUB_20PORT_INFO * m_Root20Ports
VOID Post(_In_ HubEvent Event)
HubInterruptRequest m_Interrupt
UCXHUB_STACK_INTERFACE m_Stack
UCXUSBDEVICE UsbDevice() const
USHORT m_InterruptMaxPacket
HubParentInfo m_ParentInfo
UCXHUB_PARENT_INTERFACE m_Parent
BOOLEAN IsRootHub() const
union HubFdo::@1628 m_HubDescriptor
VOID UpdateControllerHubInfo()
VOID QueryControllerInfo()
_Check_return_ _In_ DXGK_EVENT_TYPE _In_ ULONG _In_ PVOID Argument
#define NT_SUCCESS(StatCode)
#define _IRQL_requires_(irql)
#define IOCTL_UCXHUB_ROOTHUB_GET_20PORT_INFO
#define IOCTL_UCXHUB_ROOTHUB_GET_30PORT_INFO
#define IOCTL_UCXHUB_ROOTHUB_GET_INFO
#define IOCTL_UCXHUB_DEVICE_HUB_INFO
#define IOCTL_UCXHUB_NOTIFY_FORWARD_PROGRESS
_In_ PIRP _In_ PIO_COMPLETION_ROUTINE _In_ PVOID Context
static const ENTRY Entries[]
#define UNREFERENCED_PARAMETER(P)
static PS2_PORT Ports[PS2_PORTS]
PROOTHUB_20PORT_INFO * PortInfoArray
PROOTHUB_30PORT_INFO * PortInfoArray
USB_DEVICE_SPEED HubSpeed
USBD_PIPE_HANDLE InterruptPipe
PFN_UCXHUB_CONTROLLER_GET_INFO QueryControllerBus
USHORT wHubCharacteristics
#define RtlZeroMemory(Destination, Length)
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFREQUEST _In_ size_t _In_ size_t _In_ ULONG IoControlCode
_Must_inspect_result_ _In_ WDFDEVICE _In_ PUCX_CONTROLLER_CONFIG Config
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFREQUEST Request
static EVT_WDF_REQUEST_COMPLETION_ROUTINE HubControllerHubInfoComplete
static VOID NTAPI HubSendUcxIoctl(_In_ HubFdo *Hub, _In_ WDFIOTARGET Target, _In_ ULONG IoControlCode, _In_ PVOID Payload, _In_ WDFREQUEST Request, _In_ PFN_WDF_REQUEST_COMPLETION_ROUTINE Completion)
#define HUB_ROOT_PORT_MAX_SPEEDS
static EVT_WDF_REQUEST_COMPLETION_ROUTINE HubRoot30PortsComplete
#define HUB_INTERFACE_CLASS
static NTSTATUS NTAPI HubCreateUcxRequest(_In_ HubFdo *Hub, _In_ WDFIOTARGET Target, _Out_ WDFREQUEST *Request)
static EVT_WDF_REQUEST_COMPLETION_ROUTINE HubRootHubInfoComplete
#define HUB_PROTOCOL_MULTI_TT
static EVT_WDF_REQUEST_COMPLETION_ROUTINE HubIoctlComplete
static BOOLEAN NTAPI HubHasMultiTtInterface(_In_ PUSB_CONFIGURATION_DESCRIPTOR Config)
#define HUB_FORWARD_PROGRESS_CONTROL
static EVT_WDF_REQUEST_COMPLETION_ROUTINE HubRoot20PortsComplete
struct _ROOTHUB_30PORT_INFO_EX * PROOTHUB_30PORT_INFO_EX
struct _ROOTHUB_20PORT_INFO * PROOTHUB_20PORT_INFO
_In_ UCXUSBDEVICE _In_ ULONG Interface
struct _USB_INTERFACE_DESCRIPTOR * PUSB_INTERFACE_DESCRIPTOR
struct _USB_COMMON_DESCRIPTOR * PUSB_COMMON_DESCRIPTOR
#define USB_INTERFACE_DESCRIPTOR_TYPE
union _USB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED * PUSB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED
PUSBUSER_REQUEST_HEADER Block
_Must_inspect_result_ _In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR _Out_ WDFDEVICE _Inout_opt_ PWDF_CHILD_RETRIEVE_INFO Info
_In_ WDFCOLLECTION _In_ ULONG Index
FORCEINLINE VOID WDF_MEMORY_DESCRIPTOR_INIT_BUFFER(_Out_ PWDF_MEMORY_DESCRIPTOR Descriptor, _In_ PVOID Buffer, _In_ ULONG BufferLength)
FORCEINLINE VOID WDF_OBJECT_ATTRIBUTES_INIT(_Out_ PWDF_OBJECT_ATTRIBUTES Attributes)
_Must_inspect_result_ FORCEINLINE BOOLEAN WdfRequestSend(_In_ WDFREQUEST Request, _In_ WDFIOTARGET Target, _In_opt_ PWDF_REQUEST_SEND_OPTIONS Options)
_In_ WDFIOTARGET _In_ PWDF_REQUEST_COMPLETION_PARAMS Params
EVT_WDF_REQUEST_COMPLETION_ROUTINE * PFN_WDF_REQUEST_COMPLETION_ROUTINE
_In_ WDFREQUEST _In_ PIO_STACK_LOCATION Stack
#define WDF_NO_SEND_OPTIONS
#define IRP_MJ_INTERNAL_DEVICE_CONTROL