SM_RESULT OnAckingHubChange(_In_ HubEvent Event)
static const State ReadingConfigDescriptor
static const State Listening
SM_RESULT SendInterrupt(_In_ BOOLEAN ClearPipeResets)
SM_RESULT EnterSettingConfiguration()
SM_RESULT OnAwaitingOverCurrentTimer(_In_ HubEvent Event)
static const State AwaitingReleaseAfterFailure
static const State Deleted
SM_RESULT OnAsleep(_In_ HubEvent Event)
VOID QueueSuspendToDevices()
VOID QueueResumeInS0ToDevices()
const State * m_PortStatusReturn
VOID ReleasePowerReference()
SM_RESULT EnterReconfiguring()
VOID ArmResetRetryTimer()
SM_RESULT EnterReadingHubDescriptor()
SM_RESULT OnAwaitingAddDevice(_In_ HubEvent Event)
SM_RESULT StoreDromWordAndContinue()
SM_RESULT OnAwaitingReleaseHardware(_In_ HubEvent Event)
SM_RESULT ResumeResetFailed()
SM_RESULT EnterFinishingConfiguration()
BOOLEAN PortInterruptRefsReleased()
VOID QueueResumeToDevices()
VOID UpdateControllerHubInfo()
VOID ReadDromRegister(_In_ USHORT Register)
VOID ClearPipeResetCount()
SM_RESULT OnResettingPipe(_In_ HubEvent Event)
HubChange LostHubChange()
SM_RESULT EnterReadingStandardStatus()
VOID InitializeResetCount()
BOOLEAN WasResetByParent()
SM_RESULT OnReconfiguring(_In_ HubEvent Event)
VOID InitializeDescriptorRetries()
BOOLEAN RecoveryLimitReached()
static const State ResettingOnResume
SM_RESULT EnterReconfiguringAfterResume()
SM_RESULT OnReadingStandardStatus(_In_ HubEvent Event)
BOOLEAN IsDromReadWanted()
static const State LoggingReset
VOID ParseDromIdentity()
Finds the router identity entry of a version 1 DROM, bounds checking each entry.
SM_RESULT HandleHubStatusFault()
static const State PortsResetting
SM_RESULT EnterReconfiguringAfterReset()
SM_RESULT OnUpdatingController(_In_ HubEvent Event)
static const State DromRead
SM_RESULT OnSurpriseRemoved(_In_ HubEvent Event)
VOID QueueSurpriseRemovalToPorts()
static const State ProgrammingHubDepth
static const State AwaitingStop
static const State AwaitingInterruptRefs
VOID QueueFakeStatusChangeToPorts()
static const State ReadingRootHub20Ports
SM_RESULT QuiesceWithoutInterrupt(_In_ Teardown Reason)
SM_RESULT OnAwaitingDescriptorRetry(_In_ HubEvent Event)
SM_RESULT OnReconfiguringAfterResume(_In_ HubEvent Event)
BOOLEAN CacheConfigDescriptor()
static const State HubResetting
SM_RESULT EnterConfiguring()
SM_RESULT OnDromSendingCommand(_In_ HubEvent Event)
VOID StartStatusChangeRead()
VOID QueryControllerInfo()
static const State CancelingInterrupt
SM_RESULT EnterReportingFailure()
SM_RESULT CheckDromStatus()
SM_RESULT EnterUpdatingController()
VOID SelectHubConfiguration()
SM_RESULT EnterDromReadingFirstStatus()
SM_RESULT OnStopped(_In_ HubEvent Event)
static const State NotListening
VOID StartDescriptorRetryTimer()
SM_RESULT EnterReadingRootHubInfo()
static const State DromReadingFirstStatus
SM_RESULT HandleHubChange(_In_ HubChange Change)
None comes only from the lost change query, Error only from the pending one.
VOID AcquirePowerReference()
static const State DrainingInterruptRefs
SM_RESULT StartDromOrSkip(_In_ const State *Next)
Reads the router DROM through the vendor mailbox; no failure here fails the start.
static const State QueryingParentInfo
VOID UseDromHeaderBuffer()
static const State Halted
SM_RESULT EnterLoggingReset()
SM_RESULT EnterDromReadingWord()
SM_RESULT OnSuspendedResetPending(_In_ HubEvent Event)
VOID QueueSuspendToPorts()
VOID QueueStatusChangeToPorts()
SM_RESULT OnReadingHubStatus(_In_ HubEvent Event)
SM_RESULT OnConfiguring(_In_ HubEvent Event)
SM_RESULT OnAwaitingReleaseAfterFailure(_In_ HubEvent Event)
BOOLEAN m_ReleaseToUnconfigured
static const State AwaitingAddDevice
static const State AckingHubChange
static const State CheckingRecoveryLimit
SM_RESULT EnterDromReadingStatus()
SM_RESULT EnterAwaitingDescriptorRetry()
SM_RESULT OnReconfiguringAfterReset(_In_ HubEvent Event)
SM_RESULT StartDromWords()
The DWORD count is rounded up from the total size, not from the length field.
static const State DromWritingMetadata
static const State PortsReleasing
SM_RESULT EnterQueryingParentInfo()
static const State Configuring
static const State DromSendingCommand
static const State QueryingErrata
SM_RESULT OnResettingOnResume(_In_ HubEvent Event)
SM_RESULT OnAwaitingInterruptRefs(_In_ HubEvent Event)
SM_RESULT CallHubDepthOr(_In_ PowerUp Kind)
SM_RESULT OnProgrammingHubDepth(_In_ HubEvent Event)
SM_RESULT OnNotListening(_In_ HubEvent Event)
VOID GetConfigDescriptor(_In_ BOOLEAN FullLength)
static const State Stopped
static const State Unconfigured
BOOLEAN ConfigDescriptorTruncated()
SM_RESULT OnDevicesReleasing(_In_ HubEvent Event)
SM_RESULT OnReadingConfigDescriptor(_In_ HubEvent Event)
SM_RESULT OnReadingRootHubInfo(_In_ HubEvent Event)
BOOLEAN DescriptorRetriesExhausted()
SM_RESULT OnCancelingInterrupt(_In_ HubEvent Event)
static const State ReadingRootHubInfo
static const State ReadingStandardStatus
static const State DromReadingStatus
SM_RESULT OnReadingRootHub20Ports(_In_ HubEvent Event)
static const State Reconfiguring
SM_RESULT OnReadingPortStatus(_In_ HubEvent Event)
VOID QueueStopToDevices()
static const State ResettingPipe
SM_RESULT OnReadingHubDescriptor(_In_ HubEvent Event)
static const State AwaitingStopAfterSuspend
SM_RESULT EnterReadingConfigDescriptor()
static const State RecycleSuspended
static const State SettingConfiguration
HubCheck CheckHubChangeBit()
static const State Suspended
SM_RESULT QuiesceWithInterrupt(_In_ Teardown Reason)
SM_RESULT OnAwaitingStopAfterSuspend(_In_ HubEvent Event)
SM_RESULT OnDown(_In_ HubEvent Event)
SM_RESULT EnterCheckingRecoveryLimit()
VOID QueueStartToDevices()
VOID ResetStatusChangePipe()
SM_RESULT StartPowerUp(_In_ PowerUp Kind)
SM_RESULT OnQueryingParentInfo(_In_ HubEvent Event)
SM_RESULT OnUnconfigured(_In_ HubEvent Event)
SM_RESULT OnAwaitingResetRetry(_In_ HubEvent Event)
static const State ReadingRootHub30Ports
VOID CancelStatusChangeRead()
HubCheck SelectHubChange()
BOOLEAN OverCurrentCleared()
static const SM_EVENT_INFO EventInfo[]
VOID QueueResumeWithResetToDevices()
static const State CheckingPowerLoss
SM_RESULT OnPortsAcquiring(_In_ HubEvent Event)
static const State PortsAcquiring
SM_RESULT OnPortsReleasing(_In_ HubEvent Event)
ULONGLONG m_DromPollStart
BOOLEAN ParseHubDescriptor()
SM_RESULT OnSettingConfiguration(_In_ HubEvent Event)
SM_RESULT FailStart(_In_ BOOLEAN FirstStart)
A failed first start returns to Unconfigured, a failed restart to Stopped.
static const State SuspendedResetPending
SM_RESULT ReadPortStatus(_In_ const State *ReturnTo)
SM_RESULT EnterDromSendingCommand()
static const State ReadingPortStatus
VOID QueueResumeToPorts()
SM_RESULT OnDrainingInterruptRefs(_In_ HubEvent Event)
SM_RESULT OnDevicesAcquiring(_In_ HubEvent Event)
VOID FailPortStatus(_In_ BOOLEAN HardwareError)
SM_RESULT OnDromRead(_In_ HubEvent Event)
SM_RESULT EnterQueryingErrata()
SM_RESULT EnterSuspendedResetPending()
SM_RESULT EnterDromWritingMetadata()
SM_RESULT EnterReadingRootHub20Ports()
SM_RESULT OnHubResetting(_In_ HubEvent Event)
VOID QueueStopAfterSuspendToDevices()
SM_RESULT CheckPowerLoss()
static const State ReconfiguringAfterResume
static const State UpdatingController
VOID ReportFailureToPnp()
static const State FinishingConfiguration
BOOLEAN ParsePowerStatus()
SM_RESULT OnListening(_In_ HubEvent Event)
SM_RESULT EnterHubResetting()
SM_RESULT EnterProgrammingHubDepth()
SM_RESULT OnDromWritingMetadata(_In_ HubEvent Event)
static const State SurpriseRemoved
static const State ReconfiguringAfterReset
BOOLEAN PipeResetLimitReached()
SM_RESULT OnAwaitingStop(_In_ HubEvent Event)
BOOLEAN CreateChildPorts()
static const State Asleep
static const State AwaitingResetRetry
SM_RESULT OnCheckingPowerLoss(_In_ HubEvent Event)
static const State DromReadingWord
static const State DevicesAcquiring
static const State AwaitingReleaseHardware
SM_RESULT EnterSignalPnp()
HubChange PendingHubChange()
SM_RESULT OnFinishingConfiguration(_In_ HubEvent Event)
SM_RESULT OnDromReadingWord(_In_ HubEvent Event)
static const State ReportingFailure
SM_RESULT EnterReadingRootHub30Ports()
SM_RESULT OnAwaitingD0(_In_ HubEvent Event)
SM_RESULT OverCurrentError()
SM_RESULT OnRecycleSuspended(_In_ HubEvent Event)
static const State AwaitingD0
static const State DevicesReleasing
SM_RESULT StartHubConfiguration()
SM_RESULT OnAwaitingInterruptEnable(_In_ HubEvent Event)
static const BOOLEAN SmCompletionsFirst
static const State ReadingHubDescriptor
SM_RESULT OnSuspended(_In_ HubEvent Event)
BOOLEAN ResetLimitReached()
VOID ArmOverCurrentTimer()
static const State AwaitingDescriptorRetry
VOID QueueResumeInS0ToPorts()
static const State AwaitingInterruptEnable
SM_RESULT OnDromReadingStatus(_In_ HubEvent Event)
static const State AwaitingOverCurrentTimer
static const State ReadingHubStatus
SM_RESULT AfterInterruptQuiet()
VOID StoreDromWord(_In_ ULONG Index)
SM_RESULT OnDromReadingFirstStatus(_In_ HubEvent Event)
VOID WriteDromRegister(_In_ USHORT Register, _In_ ULONG Value)
static const HubEvent ResetDiscards[]
VOID QueueResumeWithResetToPorts()
BOOLEAN AllocateDromBuffer(_In_ ULONG Length)
SM_RESULT OnPortsResetting(_In_ HubEvent Event)
SM_RESULT OnReadingRootHub30Ports(_In_ HubEvent Event)
Run to completion engine. The first thread to post into an idle machine drains the queue; everyone el...
_Check_return_ _In_ DXGK_EVENT_TYPE _In_ ULONG Event
@ DevicesStoppedAfterSuspend
PVOID PVOID PWCHAR PVOID USHORT PULONG Reason
_In_ ULONG _In_ ULONG _In_ ULONG Length
PACPI_METHOD_ARGUMENT Next
One state. Handler gets every event the state sees.
_In_ WDFCOLLECTION _In_ ULONG Index
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value