_In_ ULONG const _In_ FEATURE_NUMBER const Feature
static XhciRootHub * FromUcx(_In_ UCXROOTHUB UcxRootHub)
VOID ResuspendResumedPorts()
Outcome GetPortStatus(_In_ PURB Urb)
BOOLEAN AcknowledgeResume(_In_ Port *P, _In_ BOOLEAN PowerUp)
NTSTATUS WaitForU3(_In_ Port *P, _In_ BOOLEAN RepeatRequest)
Outcome GetHubStatus(_In_ PURB Urb)
Outcome SetUsb30LinkState(_In_ Port *P, _In_ UCHAR LinkState)
BOOLEAN IsPortConnected(_In_ const Port *P) const
static EVT_UCX_ROOTHUB_INTERRUPT_TX EvtInterruptTransfer
USHORT HighestUsbVersion() const
VOID Update20HardwareLpm(_In_ ULONG PortNumber, _In_ ULONG SlotId, _In_ const USBDEVICE_UPDATE_20_HARDWARE_LPM_PARAMETERS *Parameters)
Outcome ClearUsb20PortFeature(_In_ Port *P, _In_ USHORT Feature, _In_ UCHAR Value)
VOID ClearUsb20LpmLocked(_In_ Port *P)
static KDEFERRED_ROUTINE ResumeTimerDpc
static VOID CompleteHubRequest(_In_ WDFREQUEST Request, _In_ PURB Urb, _In_ Outcome Result)
VOID OnPortStatusChangeEvent(_In_ const XHCI_TRB *Event)
Outcome InterruptTransfer(_In_ PURB Urb)
ULONG ReadPortSc(_In_ const Port *P) const
VOID SetWakeEnables(_In_ BOOLEAN Arm)
Outcome ClearUsb30PortFeature(_In_ Port *P, _In_ USHORT Feature, _In_ UCHAR Value)
ULONG UpdatePortSc(_In_ Port *P, _In_ ULONG Keep, _In_ ULONG Set)
BOOLEAN m_PortScTunnelValid
BOOLEAN m_AwaitingStatusRead
NTSTATUS ParseProtocol(_In_ ULONG Capability, _Out_ PBOOLEAN Usable)
VOID DisableLpmForSlot(_In_ ULONG PortNumber, _In_ ULONG SlotId)
BOOLEAN IsUsb20Port(_In_ ULONG PortNumber) const
VOID StartResumeTimer(_In_ Port *P)
Outcome SetUsb20PortFeature(_In_ Port *P, _In_ USHORT Feature, _In_ UCHAR Value)
BOOLEAN IsHiddenDebugPort(_In_ const Port *P) const
static EVT_UCX_ROOTHUB_CONTROL_URB EvtClearPortFeature
Port * PortAt(_In_ ULONG PortNumber) const
static EVT_UCX_ROOTHUB_CONTROL_URB EvtGetPortErrorCount
static EVT_UCX_ROOTHUB_GET_20PORT_INFO EvtGet20PortInfo
static EVT_UCX_ROOTHUB_CONTROL_URB EvtSetHubFeature
Outcome SetUsb30PortFeature(_In_ Port *P, _In_ USHORT Feature, _In_ UCHAR Value)
Outcome ClearPortFeature(_In_ PURB Urb)
NTSTATUS WaitU0(_In_ Port *P)
static EVT_UCX_ROOTHUB_GET_30PORT_INFO EvtGet30PortInfo
VOID ArmPortResumeTimer(_In_ ULONG PortNumber, _In_ ULONG Milliseconds)
Outcome ClearHubFeature(_In_ PURB Urb)
static EVT_UCX_ROOTHUB_CONTROL_URB EvtGetHubStatus
UCHAR QueryTunnelState(_In_ ULONG PortNumber) const
static EVT_UCX_ROOTHUB_CONTROL_URB EvtSetPortFeature
VOID SuspendPort(_In_ Port *P)
VOID DisarmPortResumeTimer(_In_ ULONG PortNumber)
static EVT_UCX_ROOTHUB_CONTROL_URB EvtClearHubFeature
XhciController * m_Controller
static EVT_UCX_ROOTHUB_CONTROL_URB EvtGetPortStatus
static EVT_UCX_ROOTHUB_GET_INFO EvtGetInfo
Outcome GetPortErrorCount(_In_ PURB Urb)
VOID PostInterruptsEntry()
Outcome SetPortFeature(_In_ PURB Urb)
VOID UpdatePortReg(_In_ Port *P, _In_ ULONG Offset, _In_ ULONG Clear, _In_ ULONG Set)
NTSTATUS FillSpeeds(_In_ const Port *P, _Inout_ PROOTHUB_30PORT_INFO_EX Entry) const
ULONG UpdatePortScLocked(_In_ Port *P, _In_ ULONG Keep, _In_ ULONG Set)
_In_ HANDLE _In_ CONST PDXGKMDT_OPM_GET_INFO_PARAMETERS Parameters
_Check_return_ _In_ DXGK_EVENT_TYPE _In_ ULONG Event
_In_ ULONG _In_ ULONG Offset
_Must_inspect_result_ _In_ WDFDEVICE _In_ PUCX_CONTROLLER_CONFIG _In_opt_ PWDF_OBJECT_ATTRIBUTES _Out_ UCXCONTROLLER * Controller
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFREQUEST Request
_In_opt_ PUSB_CONFIGURATION_DESCRIPTOR _Inout_ PUSBD_INTERFACE_LIST_ENTRY _Outptr_ PURB * Urb
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO