|
ReactOS 0.4.17-dev-1281-g065abb3
|

Go to the source code of this file.
Classes | |
| struct | HubUserPortStatus |
Macros | |
| #define | NDEBUG |
| #define | HUB_IO_NODE_INFO_SIZE sizeof(USB_NODE_INFORMATION) |
| #define | HUB_IO_CONNECTION_SIZE FIELD_OFFSET(USB_NODE_CONNECTION_INFORMATION, PipeList) |
| #define | HUB_IO_NAME_HEADER FIELD_OFFSET(USB_NODE_CONNECTION_NAME, NodeName) |
| #define | HUB_IO_NAME_SIZE sizeof(USB_NODE_CONNECTION_NAME) |
| #define | HUB_IO_DESCRIPTOR_HEADER FIELD_OFFSET(USB_DESCRIPTOR_REQUEST, Data) |
| #define | HUB_IO_ATTRIBUTES_SIZE sizeof(USB_NODE_CONNECTION_ATTRIBUTES) |
| #define | HUB_IO_HUB_INFO_EX_SIZE (FIELD_OFFSET(USB_HUB_INFORMATION_EX, u) + sizeof(USB_HUB_DESCRIPTOR)) |
| #define | HUB_IO_CONNECTOR_SIZE (FIELD_OFFSET(USB_PORT_CONNECTOR_PROPERTIES, CompanionHubSymbolicLinkName) + sizeof(WCHAR)) |
| #define | HUB_IO_CONNECTION_V2_SIZE sizeof(USB_NODE_CONNECTION_INFORMATION_EX_V2) |
| #define | HUB_IO_CYCLE_SIZE sizeof(USB_CYCLE_PORT_PARAMS) |
| #define | HUB_BUS_POWERED_PORT_POWER 100 |
| #define | HUB_UPC_TYPE_C_USB2 0x08 |
| #define | HUB_UPC_TYPE_C_SWITCH 0x09 |
| #define | HUB_UPC_TYPE_C_NO_SWITCH 0x0A |
| #define | HUB_LANGID_US_ENGLISH 0x0409 |
Variables | |
| static const char | HubTagUserRequest [] = "User Mode FDO Request" |
| _In_ ULONG | MessageId |
| Device | |
| #define HUB_BUS_POWERED_PORT_POWER 100 |
Definition at line 47 of file hubioctl.cpp.
Definition at line 28 of file hubioctl.cpp.
| #define HUB_IO_CONNECTION_SIZE FIELD_OFFSET(USB_NODE_CONNECTION_INFORMATION, PipeList) |
Definition at line 24 of file hubioctl.cpp.
| #define HUB_IO_CONNECTION_V2_SIZE sizeof(USB_NODE_CONNECTION_INFORMATION_EX_V2) |
Definition at line 31 of file hubioctl.cpp.
| #define HUB_IO_CONNECTOR_SIZE (FIELD_OFFSET(USB_PORT_CONNECTOR_PROPERTIES, CompanionHubSymbolicLinkName) + sizeof(WCHAR)) |
Definition at line 30 of file hubioctl.cpp.
Definition at line 32 of file hubioctl.cpp.
| #define HUB_IO_DESCRIPTOR_HEADER FIELD_OFFSET(USB_DESCRIPTOR_REQUEST, Data) |
Definition at line 27 of file hubioctl.cpp.
| #define HUB_IO_HUB_INFO_EX_SIZE (FIELD_OFFSET(USB_HUB_INFORMATION_EX, u) + sizeof(USB_HUB_DESCRIPTOR)) |
Definition at line 29 of file hubioctl.cpp.
| #define HUB_IO_NAME_HEADER FIELD_OFFSET(USB_NODE_CONNECTION_NAME, NodeName) |
Definition at line 25 of file hubioctl.cpp.
| #define HUB_IO_NAME_SIZE sizeof(USB_NODE_CONNECTION_NAME) |
Definition at line 26 of file hubioctl.cpp.
| #define HUB_IO_NODE_INFO_SIZE sizeof(USB_NODE_INFORMATION) |
Definition at line 23 of file hubioctl.cpp.
| #define HUB_LANGID_US_ENGLISH 0x0409 |
Definition at line 55 of file hubioctl.cpp.
| #define HUB_UPC_TYPE_C_NO_SWITCH 0x0A |
Definition at line 52 of file hubioctl.cpp.
| #define HUB_UPC_TYPE_C_SWITCH 0x09 |
Definition at line 51 of file hubioctl.cpp.
| #define HUB_UPC_TYPE_C_USB2 0x08 |
Definition at line 50 of file hubioctl.cpp.
| #define NDEBUG |
Definition at line 11 of file hubioctl.cpp.
| _IRQL_requires_ | ( | PASSIVE_LEVEL | ) |
Sends a synchronous IOCTL to the specified device object.
STATUS_SUCCESS when the caller's token is an administrator's.
Definition at line 72 of file hubioctl.cpp.
| C_ASSERT | ( | HUB_IO_ATTRIBUTES_SIZE | = =12 | ) |
| C_ASSERT | ( | HUB_IO_CONNECTION_SIZE | = =35 | ) |
| C_ASSERT | ( | HUB_IO_CONNECTION_V2_SIZE | = =16 | ) |
| C_ASSERT | ( | HUB_IO_CONNECTOR_SIZE | = =18 | ) |
| C_ASSERT | ( | HUB_IO_CYCLE_SIZE | = =8 | ) |
| C_ASSERT | ( | HUB_IO_DESCRIPTOR_HEADER | = =12 | ) |
| C_ASSERT | ( | HUB_IO_HUB_INFO_EX_SIZE | = =77 | ) |
| C_ASSERT | ( | HUB_IO_NAME_SIZE | = =10 | ) |
| C_ASSERT | ( | HUB_IO_NODE_INFO_SIZE | = =76 | ) |
| C_ASSERT | ( | sizeof(HubUserPortStatus) | = =8 | ) |
| C_ASSERT | ( | sizeof(USB_NODE_CONNECTION_DRIVERKEY_NAME) | = =HUB_IO_NAME_SIZE | ) |
| C_ASSERT | ( | sizeof(USB_PIPE_INFO) | = =11 | ) |
| VOID NTAPI HubCompleteFdoDescriptorRequest | ( | _In_ HubChild * | Child, |
| _In_ WDFREQUEST | Request, | ||
| _In_ NTSTATUS | Status, | ||
| _In_ ULONG | Size | ||
| ) |
Completes the hub FDO descriptor request and drops the "User Mode FDO Request" device reference.
Definition at line 372 of file hubioctl.cpp.
Referenced by DeviceMachine::FailHubDescriptorRequest(), DeviceMachine::GetDescriptorForHub(), and HubFdoDescriptorComplete().
| VOID NTAPI HubEvtIoDeviceControl | ( | _In_ WDFQUEUE | Queue, |
| _In_ WDFREQUEST | Request, | ||
| _In_ size_t | OutputBufferLength, | ||
| _In_ size_t | InputBufferLength, | ||
| _In_ ULONG | IoControlCode | ||
| ) |
Definition at line 1238 of file hubioctl.cpp.
| VOID NTAPI HubEvtIoInternalDeviceControl | ( | _In_ WDFQUEUE | Queue, |
| _In_ WDFREQUEST | Request, | ||
| _In_ size_t | OutputBufferLength, | ||
| _In_ size_t | InputBufferLength, | ||
| _In_ ULONG | IoControlCode | ||
| ) |
Definition at line 1320 of file hubioctl.cpp.
|
static |
A USB 2.0 hub descriptor for any hub, as the legacy node information reports it.
Definition at line 255 of file hubioctl.cpp.
Referenced by HubIoGetNodeInformation().
|
static |
Definition at line 359 of file hubioctl.cpp.
Referenced by HubCompleteFdoDescriptorRequest(), and HubIoGetDescriptor().
|
static |
Definition at line 1146 of file hubioctl.cpp.
Referenced by HubEvtIoDeviceControl().
Definition at line 339 of file hubioctl.cpp.
Referenced by HubIoGetConnectionInformationV2().
Definition at line 319 of file hubioctl.cpp.
Referenced by HubIoGetConnectionInformationV2().
Definition at line 235 of file hubioctl.cpp.
Referenced by HubEvtIoDeviceControl().
|
static |
Definition at line 913 of file hubioctl.cpp.
Referenced by HubEvtIoDeviceControl().
|
static |
Definition at line 542 of file hubioctl.cpp.
Referenced by HubEvtIoDeviceControl().
|
static |
Definition at line 1063 of file hubioctl.cpp.
Referenced by HubEvtIoDeviceControl().
|
static |
Definition at line 647 of file hubioctl.cpp.
Referenced by HubEvtIoDeviceControl().
|
static |
Definition at line 979 of file hubioctl.cpp.
Referenced by HubEvtIoDeviceControl().
|
static |
Definition at line 731 of file hubioctl.cpp.
Referenced by HubEvtIoDeviceControl().
|
static |
Definition at line 469 of file hubioctl.cpp.
Referenced by HubEvtIoDeviceControl().
|
static |
Definition at line 873 of file hubioctl.cpp.
Referenced by HubEvtIoDeviceControl().
|
static |
Definition at line 942 of file hubioctl.cpp.
Referenced by HubEvtIoDeviceControl().
|
static |
Definition at line 437 of file hubioctl.cpp.
Referenced by HubEvtIoDeviceControl().
|
static |
Definition at line 398 of file hubioctl.cpp.
Referenced by HubEvtIoDeviceControl().
Locks the static child list and finds the PDO on a port. Unlock with HubIoUnlockChildren on every path.
Definition at line 204 of file hubioctl.cpp.
Referenced by HubIoCyclePort(), HubIoGetConnectionInformation(), HubIoGetConnectionInformationV2(), HubIoGetConnectionName(), HubIoGetDescriptor(), and HubIoGetDriverKeyName().
|
static |
TRUE when the first port attribute with this id and direction is a SuperSpeedPlus one.
Definition at line 297 of file hubioctl.cpp.
Referenced by HubIoDeviceRunsSsp().
|
static |
Fetches the shared system buffer, then validates. Buffer is NULL only when the fetch failed.
Definition at line 178 of file hubioctl.cpp.
Referenced by HubIoCyclePort(), HubIoGetConnectionAttributes(), HubIoGetConnectionInformation(), HubIoGetConnectionInformationV2(), HubIoGetConnectionName(), HubIoGetConnectorProperties(), HubIoGetDescriptor(), HubIoGetDriverKeyName(), HubIoGetHubCapabilities(), HubIoGetHubInformationEx(), and HubIoGetPortStatus().
Definition at line 1215 of file hubioctl.cpp.
Referenced by HubEvtIoDeviceControl().
Skips a leading "\xx\" of a symbolic link; works on the counted length only.
Definition at line 100 of file hubioctl.cpp.
Referenced by HubIoGetConnectionName(), and HubIoGetConnectorProperties().
Definition at line 226 of file hubioctl.cpp.
Referenced by HubIoCyclePort(), HubIoGetConnectionInformation(), HubIoGetConnectionInformationV2(), HubIoGetConnectionName(), HubIoGetDescriptor(), and HubIoGetDriverKeyName().
|
static |
Common IOCTL checks; Buffer holds the input when MinInput covers a port number.
Definition at line 133 of file hubioctl.cpp.
Referenced by HubIoGetNodeInformation(), and HubIoPrepare().
| if | ( | MessageId ! | = 0 | ) |
| NTKERNELAPI BOOLEAN NTAPI SeTokenIsAdmin | ( | _In_ PACCESS_TOKEN | Token | ) |
Determines if a token is either an admin token or not. Such condition is checked based upon TOKEN_HAS_ADMIN_GROUP flag, which means if the respective access token belongs to an administrator group or not.
Definition at line 2104 of file token.c.
Referenced by _IRQL_requires_(), PsImpersonateClient(), and SepAccessCheckWorker().
Definition at line 1374 of file hubioctl.cpp.
Definition at line 67 of file hubioctl.cpp.
Referenced by HubCompleteFdoDescriptorRequest(), HubIoCyclePort(), and HubIoGetDescriptor().
| MessageId |
Definition at line 1368 of file hubioctl.cpp.
Referenced by ConFormatMessage(), DeviceProblemTextW(), GetDeviceStatusString(), KdSendPacket(), KeBugCheckWithTf(), KiDisplayBlueScreen(), LoadAndPrintString(), LpcpFindDataInfoMessage(), LpcpFreeDataInfoMessage(), MiniportHwMSInterrupt(), NtImpersonateClientOfPort(), PortFdoMessageInterruptRoutine(), PreloadGlobalMessageTable(), PrintHelpMessage(), RtlFindMessage(), StorPortAcquireMSISpinLock(), StorPortExtendedFunction(), StorPortGetMSIInfo(), StorPortMaskPciMsixEntry(), and StorPortReleaseMSISpinLock().