11#define HUB_SETUP_REQUEST_TIMEOUT_MS 5000
14#define HUB_FEATURE_NONE 1000
21 struct _URB_CONTROL_TRANSFER_EX
Urb;
30 _In_ WDFIOTARGET SizingTarget);
42 Urb.SetupPacket[1] = RequestCode;
85#define HUB_REQUEST_GET_STATUS 0
86#define HUB_REQUEST_CLEAR_FEATURE 1
87#define HUB_REQUEST_SET_FEATURE 3
88#define HUB_REQUEST_GET_DESCRIPTOR 6
89#define HUB_REQUEST_CLEAR_TT_BUFFER 8
90#define HUB_REQUEST_RESET_TT 9
91#define HUB_REQUEST_SET_HUB_DEPTH 12
94#define HUB_C_LOCAL_POWER 0
95#define HUB_C_OVER_CURRENT 1
96#define PORT_F_ENABLE 1
97#define PORT_F_SUSPEND 2
99#define PORT_F_LINK_STATE 5
100#define PORT_F_POWER 8
101#define PORT_C_CONNECTION 16
102#define PORT_C_ENABLE 17
103#define PORT_C_SUSPEND 18
104#define PORT_C_OVER_CURRENT 19
105#define PORT_C_RESET 20
106#define PORT_F_U1_TIMEOUT 23
107#define PORT_F_U2_TIMEOUT 24
108#define PORT_C_LINK_STATE 25
109#define PORT_C_CONFIG_ERROR 26
110#define PORT_F_REMOTE_WAKE_MASK 27
111#define PORT_F_BH_RESET 28
112#define PORT_C_BH_RESET 29
117#define LINK_SS_DISABLED 4
118#define LINK_RX_DETECT 5
119#define LINK_SS_INACTIVE 6
120#define LINK_POLLING 7
121#define LINK_RECOVERY 8
122#define LINK_COMPLIANCE 10
123#define LINK_LOOPBACK 11
126#define PS_CONNECTED 0x0001
127#define PS_ENABLED 0x0002
128#define PS_SUSPENDED 0x0004
129#define PS_OVER_CURRENT 0x0008
130#define PS_RESET 0x0010
131#define PS_LINK_SHIFT 5
132#define PS_LINK_MASK 0x01E0
133#define PS_POWER_20 0x0100
134#define PS_POWER_30 0x0200
136#define PC_CONNECT 0x0001
137#define PC_ENABLE 0x0002
138#define PC_SUSPEND 0x0004
139#define PC_OVER_CURRENT 0x0008
140#define PC_RESET 0x0010
141#define PC_BH_RESET 0x0020
142#define PC_LINK_STATE 0x0040
143#define PC_CONFIG_ERROR 0x0080
146#define HS_LOCAL_POWER_LOST 0x0001
147#define HS_OVER_CURRENT 0x0002
150#define HUB_MSG_INVALID_PORT_STATUS 0x40020000
151#define HUB_MSG_CONTROL_TRANSFER_FAILED 0x40020001
152#define HUB_MSG_INTERRUPT_FAILED 0x40020002
170HubReadPortStatusForBootDevice(
ACPI_PHYSICAL_ADDRESS ACPI_SIZE BOOLEAN Warn UINT32 *TableIdx UINT32 ACPI_TABLE_HEADER *OutTableHeader ACPI_TABLE_HEADER **OutTable ACPI_HANDLE UINT32 ACPI_WALK_CALLBACK ACPI_WALK_CALLBACK void void **ReturnValue UINT32 ACPI_BUFFER *RetPathPtr ACPI_OBJECT_HANDLER void *Data ACPI_OBJECT_HANDLER void **Data ACPI_STRING ACPI_OBJECT_LIST ACPI_BUFFER *ReturnObjectBuffer ACPI_DEVICE_INFO **ReturnBuffer ACPI_HANDLE Parent
#define _IRQL_requires_(irql)
FORCEINLINE USHORT NTAPI HubLinkState(_In_ USHORT Status)
_Must_inspect_result_ _In_ PUCXHUB_DEVICE_CREATE_INFO _Out_ UCXUSBDEVICE * Device
_In_ PIRP _In_ PIO_COMPLETION_ROUTINE _In_ PVOID Context
#define _Must_inspect_result_
#define _In_reads_bytes_opt_(s)
_In_ ULONG _In_ ULONG _In_ ULONG Length
NTSTATUS Send(_In_ WDFIOTARGET Target, _In_opt_ UCXUSBDEVICE Device, _In_ PFN_WDF_REQUEST_COMPLETION_ROUTINE Completion, _In_ WDFCONTEXT Context, _In_reads_bytes_opt_(Length) PVOID Buffer, _In_ ULONG Length, _In_ BOOLEAN ShortTransferOk, _In_ BOOLEAN ForwardProgress)
VOID SetSetup(_In_ UCHAR RequestType, _In_ UCHAR RequestCode, _In_ USHORT Value, _In_ USHORT Index, _In_ USHORT Length)
struct _URB_CONTROL_TRANSFER_EX Urb
BOOLEAN LastInterruptWasEmpty
struct _URB_BULK_OR_INTERRUPT_TRANSFER Urb
_In_ WDFCOLLECTION _In_ ULONG Index
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFQUEUE _In_ _Strict_type_match_ WDF_REQUEST_TYPE RequestType
_Must_inspect_result_ _In_ WDFDEVICE _In_ WDFDEVICE Child
_Must_inspect_result_ _In_ WDFKEY _In_ PCUNICODE_STRING _Out_opt_ PUSHORT _Inout_opt_ PUNICODE_STRING Value
EVT_WDF_REQUEST_COMPLETION_ROUTINE * PFN_WDF_REQUEST_COMPLETION_ROUTINE