76#define MAX_SPEEDS_COUNT (32 + 16)
137EVT_UCX_ROOTHUB_INTERRUPT_TX(
148EVT_UCX_ROOTHUB_CONTROL_URB(
159EVT_UCX_ROOTHUB_GET_INFO(
170EVT_UCX_ROOTHUB_GET_20PORT_INFO(
181EVT_UCX_ROOTHUB_GET_30PORT_INFO(
218 Config->Size =
sizeof(*Config);
219 Config->NumberOfPresentedControlUrbCallbacks = 1;
221 Config->EvtRootHubInterruptTx = EvtRootHubInterruptTx;
222 Config->EvtRootHubGetInfo = EvtRootHubGetInfo;
223 Config->EvtRootHubGet20PortInfo = EvtRootHubGet20PortInfo;
224 Config->EvtRootHubGet30PortInfo = EvtRootHubGet30PortInfo;
241 EvtRootHubInterruptTx,
243 EvtRootHubGet20PortInfo,
244 EvtRootHubGet30PortInfo);
246 Config->EvtRootHubControlUrb = EvtRootHubControlUrb;
267 EvtRootHubInterruptTx,
269 EvtRootHubGet20PortInfo,
270 EvtRootHubGet30PortInfo);
272 Config->EvtRootHubClearHubFeature = EvtRootHubClearHubFeature;
273 Config->EvtRootHubClearPortFeature = EvtRootHubClearPortFeature;
274 Config->EvtRootHubGetHubStatus = EvtRootHubGetHubStatus;
275 Config->EvtRootHubGetPortStatus = EvtRootHubGetPortStatus;
276 Config->EvtRootHubSetHubFeature = EvtRootHubSetHubFeature;
277 Config->EvtRootHubSetPortFeature = EvtRootHubSetPortFeature;
278 Config->EvtRootHubGetPortErrorCount = EvtRootHubGetPortErrorCount;
294(
NTAPI *PFN_UCXROOTHUBCREATE)(
304(
NTAPI *PFN_UCXROOTHUBPORTCHANGED)(
319 PFN_UCXROOTHUBCREATE
Create;
330UcxRootHubPortChanged(
333 PFN_UCXROOTHUBPORTCHANGED PortChanged;
#define _IRQL_requires_same_
#define _Must_inspect_result_
#define _Function_class_(n)
ULONG SublinkSpeedAttrCount
USHORT ExitLatencyOfSlowestLinkForU1
USHORT HostInitiatedU2ExitLatency
PARENT_HUB_FLAGS HubFlags
USHORT ExitLatencyOfSlowestLinkForU2
PUSB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED SublinkSpeedAttr
UCHAR DepthOfSlowestLinkForU1
USHORT TotalTPPropogationDelay
UCHAR DepthOfSlowestLinkForU2
USB_DEVICE_DESCRIPTOR DeviceDescriptor
USHORT HostInitiatedU1ExitLatency
PROOTHUB_20PORT_INFO * PortInfoArray
CONTROLLER_USB_20_HARDWARE_LPM_FLAGS ControllerUsb20HardwareLpmFlags
TRISTATE IntegratedHubImplemented
PROOTHUB_30PORT_INFO * PortInfoArray
PUSB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED Speeds
CONTROLLER_TYPE ControllerType
PFN_UCX_ROOTHUB_CONTROL_URB EvtRootHubGetHubStatus
PFN_UCX_ROOTHUB_CONTROL_URB EvtRootHubClearHubFeature
PFN_UCX_ROOTHUB_CONTROL_URB EvtRootHubControlUrb
PFN_UCX_ROOTHUB_CONTROL_URB EvtRootHubClearPortFeature
PFN_UCX_ROOTHUB_GET_20PORT_INFO EvtRootHubGet20PortInfo
ULONG NumberOfPresentedControlUrbCallbacks
PFN_UCX_ROOTHUB_GET_INFO EvtRootHubGetInfo
PFN_UCX_ROOTHUB_CONTROL_URB EvtRootHubSetPortFeature
WDF_OBJECT_ATTRIBUTES WdfRequestAttributes
PFN_UCX_ROOTHUB_CONTROL_URB EvtRootHubGetPortStatus
PFN_UCX_ROOTHUB_CONTROL_URB EvtRootHubSetHubFeature
PFN_UCX_ROOTHUB_GET_30PORT_INFO EvtRootHubGet30PortInfo
PFN_UCX_ROOTHUB_INTERRUPT_TX EvtRootHubInterruptTx
PFN_UCX_ROOTHUB_CONTROL_URB EvtRootHubGetPortErrorCount
#define RtlZeroMemory(Destination, Length)
_Must_inspect_result_ _In_ WDFDEVICE _In_ PUCX_CONTROLLER_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ UCXCONTROLLER * Controller
_Must_inspect_result_ _In_ WDFDEVICE _In_ PUCX_CONTROLLER_CONFIG Config
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFREQUEST Request
@ UcxRootHubPortChangedTableIndex
@ UcxRootHubCreateTableIndex
#define UCX_BOUND_FUNCTION(PfnType, Slot)
WDF_EXTERN_C_START struct _UCX_DRIVER_GLOBALS * PUCX_DRIVER_GLOBALS
PUCX_DRIVER_GLOBALS UcxDriverGlobals
union _PARENT_HUB_FLAGS * PPARENT_HUB_FLAGS
_Must_inspect_result_ _IRQL_requires_max_(DISPATCH_LEVEL) NTSTATUS(NTAPI *PFN_UCXROOTHUBCREATE)(_In_ PUCX_DRIVER_GLOBALS DriverGlobals
PFN_UCX_ROOTHUB_GET_30PORT_INFO PEVT_UCX_ROOTHUB_GET_30PORT_INFO
union _CONTROLLER_USB_20_HARDWARE_LPM_FLAGS * PCONTROLLER_USB_20_HARDWARE_LPM_FLAGS
struct _ROOTHUB_INFO * PROOTHUB_INFO
_In_ UCXROOTHUB UcxRootHub
FORCEINLINE VOID NTAPI UCX_ROOTHUB_CONFIG_INIT(_Out_ PUCX_ROOTHUB_CONFIG Config, _In_ PFN_UCX_ROOTHUB_CONTROL_URB EvtRootHubClearHubFeature, _In_ PFN_UCX_ROOTHUB_CONTROL_URB EvtRootHubClearPortFeature, _In_ PFN_UCX_ROOTHUB_CONTROL_URB EvtRootHubGetHubStatus, _In_ PFN_UCX_ROOTHUB_CONTROL_URB EvtRootHubGetPortStatus, _In_ PFN_UCX_ROOTHUB_CONTROL_URB EvtRootHubSetHubFeature, _In_ PFN_UCX_ROOTHUB_CONTROL_URB EvtRootHubSetPortFeature, _In_ PFN_UCX_ROOTHUB_CONTROL_URB EvtRootHubGetPortErrorCount, _In_ PFN_UCX_ROOTHUB_INTERRUPT_TX EvtRootHubInterruptTx, _In_ PFN_UCX_ROOTHUB_GET_INFO EvtRootHubGetInfo, _In_ PFN_UCX_ROOTHUB_GET_20PORT_INFO EvtRootHubGet20PortInfo, _In_ PFN_UCX_ROOTHUB_GET_30PORT_INFO EvtRootHubGet30PortInfo)
_Must_inspect_result_ _In_ UCXCONTROLLER _In_ PUCX_ROOTHUB_CONFIG Config
WDF_EXTERN_C_START enum _CONTROLLER_TYPE CONTROLLER_TYPE
EVT_UCX_ROOTHUB_CONTROL_URB * PFN_UCX_ROOTHUB_CONTROL_URB
struct _UCX_ROOTHUB_CONFIG UCX_ROOTHUB_CONFIG
PFN_UCX_ROOTHUB_GET_INFO PEVT_UCX_ROOTHUB_GET_INFO
struct _ROOTHUB_30PORT_INFO_EX * PROOTHUB_30PORT_INFO_EX
struct _UCX_ROOTHUB_CONFIG * PUCX_ROOTHUB_CONFIG
struct _ROOTHUB_20PORTS_INFO * PROOTHUB_20PORTS_INFO
_Must_inspect_result_ _In_ UCXCONTROLLER _In_ PUCX_ROOTHUB_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
PFN_UCX_ROOTHUB_CONTROL_URB PEVT_UCX_ROOTHUB_CONTROL_URB
_Must_inspect_result_ _In_ UCXCONTROLLER Controller
struct _ROOTHUB_20PORT_INFO * PROOTHUB_20PORT_INFO
union _CONTROLLER_USB_20_HARDWARE_LPM_FLAGS CONTROLLER_USB_20_HARDWARE_LPM_FLAGS
FORCEINLINE VOID NTAPI UCX_ROOTHUB_CONFIG_INIT_WITH_CONTROL_URB_HANDLER(_Out_ PUCX_ROOTHUB_CONFIG Config, _In_ PFN_UCX_ROOTHUB_CONTROL_URB EvtRootHubControlUrb, _In_ PFN_UCX_ROOTHUB_INTERRUPT_TX EvtRootHubInterruptTx, _In_ PFN_UCX_ROOTHUB_GET_INFO EvtRootHubGetInfo, _In_ PFN_UCX_ROOTHUB_GET_20PORT_INFO EvtRootHubGet20PortInfo, _In_ PFN_UCX_ROOTHUB_GET_30PORT_INFO EvtRootHubGet30PortInfo)
struct _HUB_INFO_FROM_PARENT HUB_INFO_FROM_PARENT
FORCEINLINE VOID NTAPI UcxpRootHubConfigInitCommon(_Out_ PUCX_ROOTHUB_CONFIG Config, _In_ PFN_UCX_ROOTHUB_INTERRUPT_TX EvtRootHubInterruptTx, _In_ PFN_UCX_ROOTHUB_GET_INFO EvtRootHubGetInfo, _In_ PFN_UCX_ROOTHUB_GET_20PORT_INFO EvtRootHubGet20PortInfo, _In_ PFN_UCX_ROOTHUB_GET_30PORT_INFO EvtRootHubGet30PortInfo)
union _PARENT_HUB_FLAGS PARENT_HUB_FLAGS
EVT_UCX_ROOTHUB_GET_INFO * PFN_UCX_ROOTHUB_GET_INFO
struct _ROOTHUB_30PORT_INFO ROOTHUB_30PORT_INFO
struct _ROOTHUB_30PORTS_INFO ROOTHUB_30PORTS_INFO
struct _HUB_INFO_FROM_PARENT * PHUB_INFO_FROM_PARENT
EVT_UCX_ROOTHUB_GET_20PORT_INFO * PFN_UCX_ROOTHUB_GET_20PORT_INFO
EVT_UCX_ROOTHUB_INTERRUPT_TX * PFN_UCX_ROOTHUB_INTERRUPT_TX
struct _ROOTHUB_30PORT_INFO_EX ROOTHUB_30PORT_INFO_EX
PFN_UCX_ROOTHUB_GET_20PORT_INFO PEVT_UCX_ROOTHUB_GET_20PORT_INFO
struct _ROOTHUB_30PORT_INFO * PROOTHUB_30PORT_INFO
struct _ROOTHUB_INFO ROOTHUB_INFO
struct _ROOTHUB_30PORTS_INFO * PROOTHUB_30PORTS_INFO
EVT_UCX_ROOTHUB_GET_30PORT_INFO * PFN_UCX_ROOTHUB_GET_30PORT_INFO
struct _ROOTHUB_20PORT_INFO ROOTHUB_20PORT_INFO
struct _ROOTHUB_20PORTS_INFO ROOTHUB_20PORTS_INFO
PFN_UCX_ROOTHUB_INTERRUPT_TX PEVT_UCX_ROOTHUB_INTERRUPT_TX
_Must_inspect_result_ _In_ UCXCONTROLLER _In_ PUCX_ROOTHUB_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ UCXROOTHUB * RootHub
UCHAR BeslLpmCapabilitySupported
UCHAR L1CapabilitySupported
struct _CONTROLLER_USB_20_HARDWARE_LPM_FLAGS::@4580 UCX_ANONYMOUS_FLAGS
struct _PARENT_HUB_FLAGS::@4581 UCX_ANONYMOUS_FLAGS
ULONG HubIsHighSpeedCapable
ULONG DisableUpdateMaxExitLatency
ULONG DisableLpmForAllDownstreamDevices
#define WDF_EXTERN_C_START
_Must_inspect_result_ _In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR _Out_ WDFDEVICE _Inout_opt_ PWDF_CHILD_RETRIEVE_INFO Info
FORCEINLINE VOID WDF_OBJECT_ATTRIBUTES_INIT(_Out_ PWDF_OBJECT_ATTRIBUTES Attributes)