23(
NTAPI *PFN_UCX_HCD_ENABLE_FORWARD_PROGRESS)(
29(
NTAPI *PFN_UCX_HCD_GET_DUMP_DATA)(
38(
NTAPI *PFN_UCX_HCD_FREE_DUMP_DATA)(
43#define UCX_CONFIG_SIZE_V1 FIELD_OFFSET(UCX_CONTROLLER_CONFIG, ManufacturerNameString)
44#define UCX_CONFIG_SIZE_V3 FIELD_OFFSET(UCX_CONTROLLER_CONFIG, EvtControllerGetTransportCharacteristics)
45#define UCX_CONFIG_SIZE_V4 sizeof(UCX_CONTROLLER_CONFIG)
247 EnableForwardProgress(
268 PFN_UCX_HCD_ENABLE_FORWARD_PROGRESS
274 PFN_UCX_HCD_GET_DUMP_DATA
280 PFN_UCX_HCD_FREE_DUMP_DATA
_In_ PATA_DEVICE_REQUEST _In_ BOOLEAN Allocate
BOOLEAN SmPost(_In_ Event Ev)
KMUTEX m_ForwardProgressMutex
PFN_UCX_HCD_ENABLE_FORWARD_PROGRESS HcdEnableForwardProgress() const
KEVENT m_ResetCompleteProcessed
static UcxController * FromFdo(_In_ WDFDEVICE Fdo)
VOID PostResetEvent(_In_ CrEvent Event)
NTSTATUS QueryHcCapabilities()
WDFQUEUE m_DeviceMgmtQueue
NTSTATUS StopIdle(_Inout_ PUCXHUB_STOP_IDLE_CONTEXT Context)
UNICODE_STRING m_ModelNumber
VOID NotifyTransportCharacteristicsChange(_In_ PUCX_CONTROLLER_TRANSPORT_CHARACTERISTICS Characteristics)
VOID GetInfo(_Out_ PVOID Info, _In_ BOOLEAN Grown)
BOOLEAN IsResetInProgress() const
LONG m_UsbdInterfaceCount
VOID ResumeIdle(_Inout_ PUCXHUB_STOP_IDLE_CONTEXT Context)
BOOLEAN HasFailed() const
BOOLEAN m_WaitOnResetComplete
BOOLEAN HasWorkerThread() const
WDFQUEUE m_TreePurgeQueue
VOID WalkDevices(_In_ PFN_UCX_DEVICE_VISITOR Visitor, _In_opt_ PVOID Context, _In_ BOOLEAN IncludeDisconnected)
BOOLEAN m_ResetInProgress
VOID QueueOnWorkerThread(_In_ UcxWorkItem *WorkItem)
NTSTATUS StartWorkerThread()
ULONG m_ChildEndpointCount
UCX_CONTROLLER_CONFIG m_Config
BOOLEAN m_ClearTtBufferOnAsyncCancel
static UcxController * FromHandle(_In_ UCXCONTROLLER Handle)
ControllerResetMachine m_ResetMachine
KSPIN_LOCK m_AbortPipeCsqLock
VOID NotifyDevicesResetDone()
static UCXHUB_WORKITEM_ROUTINE ResetMachinePassiveRoutine
LONG m_PendingPrepareForReset
WDFREQUEST m_PendingTreePurge
BOOLEAN QueryStreamsSupported()
PFN_UCX_HCD_FREE_DUMP_DATA HcdFreeDumpData() const
VOID MarkResetInProgress()
PFN_UCX_HCD_GET_BANDWIDTH_INFORMATION HcdGetBandwidthInformation() const
PFN_UCX_HCD_GET_DUMP_DATA HcdGetDumpData() const
UNICODE_STRING m_ModelName
BOOLEAN m_ResetMachineReady
NTSTATUS GetCurrentFrameNumber(_Out_ PULONG FrameNumber)
UNICODE_STRING m_ManufacturerName
KSPIN_LOCK m_TopologyLock
VOID PrepareForResetOperationDone()
_IRQL_requires_(PASSIVE_LEVEL) NTSTATUS EnableForwardProgress(_In_ PUCXHUB_FORWARD_PROGRESS_INFO Info)
VOID PrepareDevicesForReset()
BOOLEAN m_HcdReservedIoReady
LONG m_PendingTreePurgeEndpoints
DEVICE_CAPABILITIES m_HcCaps
LONG m_DeviceContextsLost
static EVT_WDF_OBJECT_CONTEXT_DESTROY EvtDestroy
ULONG m_CachedFrameNumber
BOOLEAN m_DriverVerifierEnabled
VOID Address0Release(_In_ UCXUSBDEVICE Hub)
static KSTART_ROUTINE WorkerThreadRoutine
LIST_ENTRY m_DriverListEntry
WDFQUEUE m_PendDuringResetQueue
KEVENT m_RootHubMayExitD0
BOOLEAN QueryClearTtBufferOnCancel()
WDFSTRING m_HostControllerInterfaceName
UcxWorkItem * m_ResetMachineWorkItem
CLIPBOARD_GLOBALS Globals
_Check_return_ _In_ DXGK_EVENT_TYPE _In_ ULONG Event
_In_ D3DDDI_VIDEO_PRESENT_TARGET_ID _In_ ULONG _In_ ULONG Flags
#define _IRQL_requires_(irql)
_In_ FLT_SET_CONTEXT_OPERATION _In_ PFLT_CONTEXT NewContext
EVT_WDF_IO_QUEUE_IO_INTERNAL_DEVICE_CONTROL UcxEvtDefaultIoInternalDeviceControl
_In_ UCXUSBDEVICE UsbDevice
IO_CSQ_REMOVE_IRP UcxCsqRemoveAbortIrp
IO_CSQ_COMPLETE_CANCELED_IRP UcxCsqCompleteCanceledAbortIrp
VOID(NTAPI * PFN_UCX_DEVICE_VISITOR)(_In_ UcxUsbDevice *Device, _In_opt_ PVOID Context)
IO_CSQ_INSERT_IRP UcxCsqInsertAbortIrp
IO_CSQ_RELEASE_LOCK UcxCsqReleaseAbortLock
EVT_WDF_IO_QUEUE_IO_INTERNAL_DEVICE_CONTROL UcxEvtAddress0IoInternalDeviceControl
IO_CSQ_PEEK_NEXT_IRP UcxCsqPeekAbortIrp
NTSTATUS(NTAPI * PFN_UCX_HCD_GET_BANDWIDTH_INFORMATION)(_In_ UCXCONTROLLER Controller)
_In_ UCXUSBDEVICE _In_ PVOID _Out_ PVOID DumpControllerInfo
_In_ UCXUSBDEVICE _In_ PVOID DumpDeviceInfo
EVT_WDF_IO_WDM_IRP_FOR_FORWARD_PROGRESS UcxEvtDefaultQueueExamineIrp
IO_CSQ_ACQUIRE_LOCK UcxCsqAcquireAbortLock
_Must_inspect_result_ _In_ PUCXHUB_DEVICE_CREATE_INFO _Out_ UCXUSBDEVICE * Device
UCXHUB_WORKITEM_ROUTINE * PUCXHUB_WORKITEM_ROUTINE
_In_opt_ PVOID _In_ PUCXHUB_WORKITEM WorkItem
enum _UCXHUB_WORKITEM_ENQUEUE_OPTIONS UCXHUB_WORKITEM_ENQUEUE_OPTIONS
_In_ PIRP _In_ PIO_COMPLETION_ROUTINE _In_ PVOID Context
#define _Must_inspect_result_
UcxController * Controller
UcxController * Controller
PUCXHUB_WORKITEM_ROUTINE Routine
LIST_ENTRY ThreadQueueEntry
PDEVICE_OBJECT DeviceObject
UcxController * Controller
_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
WDF_EXTERN_C_START struct _UCX_DRIVER_GLOBALS * PUCX_DRIVER_GLOBALS
_Must_inspect_result_ _In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR _Out_ WDFDEVICE _Inout_opt_ PWDF_CHILD_RETRIEVE_INFO Info
_In_ PDEVICE_OBJECT DeviceObject
_In_ PWDFDEVICE_INIT _In_ PWDF_REMOVE_LOCK_OPTIONS Options
_Must_inspect_result_ _In_ WDFDEVICE Fdo
#define WDF_DECLARE_CONTEXT_TYPE_WITH_NAME(_contexttype, _castingfunction)