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 节。
