11.16.2 类特定请求
集线器类定义了集线器需要响应的请求,如表 11-10 所概述。表 11-11 定义了集线器类请求代码。下表中除 GetBusState() 和 SetHubDescriptor() 之外的所有请求均为强制性要求。
表 11-10. 集线器类请求
| 请求 | bmRequestType | bRequest | wValue | wIndex | wLength | 数据 |
|---|---|---|---|---|---|---|
| ClearHubFeature | 00100000B | CLEAR_FEATURE | 特性选择符 | 零 | 零 | 无 |
| ClearPortFeature | 00100011B | CLEAR_FEATURE | 特性选择符 | 端口 | 零 | 无 |
| GetBusState | 10100011B | GET_STATE | 零 | 端口 | 一 | 每端口总线状态 |
| GetHubDescriptor | 10100000B | GET_DESCRIPTOR | 描述符类型和描述符索引 | 零 或 语言 ID | 描述符长度 | 描述符 |
| GetHubStatus | 10100000B | GET_STATUS | 零 | 零 | 四 | 集线器状态及变更指示符 |
| GetPortStatus | 10100011B | GET_STATUS | 零 | 端口 | 四 | 端口状态及变更指示符 |
| SetHubDescriptor | 00100000B | SET_DESCRIPTOR | 描述符类型和描述符索引 | 零 或 语言 ID | 描述符长度 | 描述符 |
| SetHubFeature | 00100000B | SET_FEATURE | 特性选择符 | 零 | 零 | 无 |
| SetPortFeature | 00100011B | SET_FEATURE | 特性选择符 | 端口 | 零 | 无 |
表 11-11. 集线器类请求代码
| bRequest | 数值 |
|---|---|
| GET_STATUS | 0 |
| CLEAR_FEATURE | 1 |
| GET_STATE | 2 |
| SET_FEATURE | 3 |
| 保留供未来使用 | 4-5 |
| GET_DESCRIPTOR | 6 |
| SET_DESCRIPTOR | 7 |
表 11-12. 集线器类特性选择器
| 特性 | 接收方 | 数值 |
|---|---|---|
| C_HUB_LOCAL_POWER | 集线器 | 0 |
| C_HUB_OVER_CURRENT | 集线器 | 1 |
| PORT_CONNECTION | 端口 | 0 |
| PORT_ENABLE | 端口 | 1 |
| PORT_SUSPEND | 端口 | 2 |
| PORT_OVER_CURRENT | 端口 | 3 |
| PORT_RESET | 端口 | 4 |
| PORT_POWER | 端口 | 8 |
| PORT_LOW_SPEED | 端口 | 9 |
| C_PORT_CONNECTION | 端口 | 16 |
| C_PORT_ENABLE | 端口 | 17 |
| C_PORT_SUSPEND | 端口 | 18 |
| C_PORT_OVER_CURRENT | 端口 | 19 |
| C_PORT_RESET | 端口 | 20 |
表 11-12 给出了集线器类的有效特性选择器。有关各特性的描述,请参见第 11.16.2.5 节和第 11.16.2.6 节。
