106#define HUB_PARENT_DISABLE_LPM 0x00000001
107#define HUB_PARENT_HIGH_SPEED_CAPABLE 0x00000002
227 FlushAndDeleteWorkItem(
495 ProbeParentCapabilities();
555 struct _URB_CONTROL_TRANSFER_EX
Urb;
VOID QueuePowerUpToDevices(_In_ DsmEvent Event)
BOOLEAN RegisterDevice(_In_ HubChild *Child)
UCXHUB_CONTROLLER_INFO_V2 m_ControllerInfo
USB_BUS_INTERFACE_USBDI_V3 m_Usbdi
VOID DereferenceDevicePower(_In_ HubChild *Child)
static EVT_WDF_DEVICE_USAGE_NOTIFICATION EvtUsageNotification
static EVT_WDF_DEVICE_RELEASE_HARDWARE EvtReleaseHardware
PUSB_CONFIGURATION_DESCRIPTOR m_ConfigDescriptor
static EVT_WDF_DRIVER_DEVICE_ADD EvtDeviceAdd
VOID FinishDeviceFanOut()
VOID DropHubResetReference(_In_ HubPort *Port)
static EVT_WDF_DEVICE_D0_EXIT EvtD0Exit
static EVT_WDF_DEVICE_PREPARE_HARDWARE EvtPrepareHardware
VOID PostToAllPorts(_In_ PortEvent Event)
VOID DropPortPowerReference(_In_ HubPort *Port)
BOOLEAN m_StreamsSupported
WDFWMIINSTANCE m_WmiInstance
BOOLEAN m_TunneledDevicesSkipU2
static EVT_WDFDEVICE_WDM_IRP_PREPROCESS EvtShutdown
VOID ClearFlag(_In_ HubFlag Flag)
static EVT_WDF_DEVICE_SURPRISE_REMOVAL EvtSurpriseRemoval
static EVT_WDF_DEVICE_ARM_WAKE_FROM_S0 EvtArmWakeFromS0
PROOTHUB_30PORT_INFO_EX * m_Root30Ports
VOID SetFlag(_In_ HubFlag Flag)
static HubFdo * FromContext(_In_ UCXHUB_HUB_CONTEXT Context)
VOID QueueSurpriseRemovalToPorts()
UNICODE_STRING m_SymbolicLinkName
_IRQL_requires_(PASSIVE_LEVEL) VOID FlushAndDeleteWorkItem(_Inout_ PUCXHUB_WORKITEM *WorkItem)
UCXHUB_ROOTHUB_INFO m_RootHubInfo
VOID QueuePowerUpToPorts(_In_ PortEvent Event)
WDFIOTARGET m_RootHubTarget
PROOTHUB_20PORT_INFO * m_Root20Ports
static UCXHUB_WORKITEM_ROUTINE MachineWorkItem
VOID ReleasePowerReference()
WDFREQUEST m_PortStatusRequest
PVOID m_SelectiveSuspendSetting
USHORT m_DescriptorRetryCount
USHORT m_ConfigTotalLength
_IRQL_requires_(PASSIVE_LEVEL) BOOLEAN CreateChildPorts()
VOID QueueSuspendToPorts()
BOOLEAN PortInterruptRefsReleased()
VOID AcquirePowerReference()
VOID Post(_In_ HubEvent Event)
_IRQL_requires_(PASSIVE_LEVEL) VOID ProbeParentCapabilities()
_IRQL_requires_(PASSIVE_LEVEL) NTSTATUS AssignIdleSettings(_In_ WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE TimeoutType)
HubControlRequest m_Control
PUCXHUB_WORKITEM AllocateWorkItem()
USB_HUB_STATUS_AND_CHANGE m_PreviousHubStatus
ULONG m_LastResetPortStatus
HubInterruptRequest m_Interrupt
static EVT_WDF_OBJECT_CONTEXT_DESTROY EvtDestroy
UCXHUB_STACK_INTERFACE m_Stack
VOID QueueStatusChangeToPorts()
ULONG m_LifetimeRecoveryCount
BOOLEAN HasFlag(_In_ HubFlag Flag) const
BOOLEAN RequestHubReset()
VOID UnregisterDevice(_In_ HubChild *Child)
struct _URB_PIPE_REQUEST m_PipeUrb
static HubFdo * FromDevice(_In_ WDFDEVICE Device)
static EVT_WDF_DEVICE_DISARM_WAKE_FROM_S0 EvtDisarmWakeFromS0
_IRQL_requires_(PASSIVE_LEVEL) VOID ConfigureIdle()
static POWER_SETTING_CALLBACK PowerSettingChanged
DEVICE_CAPABILITIES m_Capabilities
VOID QueueFakeStatusChangeToPorts()
USB_DEVICE_STATUS m_DeviceStatus
VOID EnqueueWorkItem(_In_ PUCXHUB_WORKITEM WorkItem, _In_ PUCXHUB_WORKITEM_ROUTINE Routine, _In_ PVOID Context, _In_ BOOLEAN ForwardProgress)
UCXUSBDEVICE UsbDevice() const
LIST_ENTRY m_HubListEntry
VOID ConfirmStopWhileSuspended(_In_ HubChild *Child)
USHORT m_InterruptMaxPacket
PVOID m_IdleTimeoutSetting
HubPort * m_PortStatusTarget
USBD_CONFIGURATION_HANDLE m_ConfigurationHandle
WDFWAITLOCK m_Usb4HostsLock
BOOLEAN IsHubResetInProgress() const
PUCXHUB_WORKITEM m_WorkItem
HubChange m_SelectedChange
HubParentInfo m_ParentInfo
_IRQL_requires_(PASSIVE_LEVEL) NTSTATUS QueryCapabilities()
VOID ResumeInterruptTransfer(_In_ HubPort *Port)
USB_30_HUB_DESCRIPTOR Usb30
_IRQL_requires_(PASSIVE_LEVEL) NTSTATUS PostAndWait(_In_ HubEvent Event
BOOLEAN NeedsForwardProgress() const
UCXHUB_PARENT_INTERFACE m_Parent
BOOLEAN IsRootHub() const
union HubFdo::@1628 m_HubDescriptor
static EVT_WDF_DEVICE_DISARM_WAKE_FROM_SX EvtDisarmWakeFromSx
WDF_POWER_DEVICE_STATE m_PowerState
HubRouterIdentity m_RouterIdentity
ULONG m_SspIsochBurstCount
_IRQL_requires_(PASSIVE_LEVEL) NTSTATUS Initialize(_In_ WDFDEVICE Device)
WDFCOLLECTION m_Usb4Hosts
_IRQL_requires_(PASSIVE_LEVEL) NTSTATUS InitializeMachine()
BOOLEAN m_NeedsForwardProgress
_IRQL_requires_(PASSIVE_LEVEL) NTSTATUS QueryInterfaces()
VOID ReferenceDevicePower(_In_ HubChild *Child)
LARGE_INTEGER m_FirstRecoveryTime
VOID QueuePowerDownToDevices(_In_ DsmEvent Event, _In_ HubDeviceFanOut FanOut)
static EVT_WDF_DEVICE_ARM_WAKE_FROM_SX EvtArmWakeFromSx
HubPort * FindPort(_In_ ULONG PortNumber)
VOID TakePortPowerReference(_In_ HubPort *Port)
VOID MarkDevicesProgrammingLost()
USB_HUB_STATUS_AND_CHANGE m_HubStatus
BOOLEAN TakeInterruptReference(_In_ HubPort *Port)
_IRQL_requires_(PASSIVE_LEVEL) NTSTATUS CreateQueue()
static EVT_WDF_OBJECT_CONTEXT_CLEANUP EvtCleanup
static EVT_WDF_DEVICE_D0_ENTRY EvtD0Entry
VOID DropInterruptReference(_In_ HubPort *Port)
BOOLEAN SmPost(_In_ Event Ev)
_In_ ULONG _Out_opt_ HubBosInfo _Out_opt_ PUSHORT U1ExitLatency
_Check_return_ _In_ DXGK_EVENT_TYPE _In_ ULONG Event
_In_ D3DDDI_VIDEO_PRESENT_TARGET_ID _In_ ULONG _In_ ULONG Flags
_Must_inspect_result_ _In_ PUCXHUB_DEVICE_CREATE_INFO _Out_ UCXUSBDEVICE * Device
UCXHUB_WORKITEM_ROUTINE * PUCXHUB_WORKITEM_ROUTINE
_In_opt_ PVOID _In_ PUCXHUB_WORKITEM WorkItem
_In_ PIRP _In_ PIO_COMPLETION_ROUTINE _In_ PVOID Context
#define _Enum_is_bitflag_
volatile LONG OutstandingPnpOperations
BOOLEAN FailDeviceRegistration
volatile LONG PortPowerReferences
LONG DevicePowerReferences
BOOLEAN FailInterruptAcquire
volatile LONG OutstandingResetOperations
volatile LONG OutstandingPortChanges
BOOLEAN InterruptReleasePending
HubDeviceFanOut DeviceFanOut
volatile LONG HubResetInProgress
PDEVICE_OBJECT RootHubPdo
USB_DEVICE_DESCRIPTOR DeviceDescriptor
USHORT TotalTpPropagationDelay
PUSB_DEVICE_CAPABILITY_SUPERSPEEDPLUS_SPEED SublinkSpeedAttr
USHORT SlowestLinkU2ExitLatency
USHORT SlowestLinkU1ExitLatency
USHORT HostInitiatedU2ExitLatency
USHORT HostInitiatedU1ExitLatency
ULONG SublinkSpeedAttrCount
struct _URB_CONTROL_TRANSFER_EX Urb
#define FIELD_OFFSET(t, f)
EVT_WDF_IO_QUEUE_IO_INTERNAL_DEVICE_CONTROL HubEvtIoInternalDeviceControl
EVT_WDF_IO_QUEUE_IO_DEVICE_CONTROL HubEvtIoDeviceControl
@ PollingToComplianceOnStart
@ ToleratesU0WhileDetached
@ DelayAfterResetComplete
@ NoSelectiveSuspendIntegrated
@ IgnoreEnabledInSsInactive
@ ParentNoSelectiveSuspend
@ NoOverCurrentProtection
@ DiscardEnableDuringReset
enum _WDF_POWER_DEVICE_STATE WDF_POWER_DEVICE_STATE
enum _WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE WDF_POWER_POLICY_IDLE_TIMEOUT_TYPE
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFDEVICE Child
#define WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(_contexttype, _castingfunction)