1# IUsbInterface
2
3
4## 概述
5
6定义USB驱动基本的操作功能。
7
8上层USB服务调用相关功能接口,可以打开/关闭设备,获取设备描述符,批量读取/写入数据等。
9
10**起始版本:** 5.0
11
12**相关模块:**[HdiUsb](_hdi_usb.md)
13
14
15## 汇总
16
17
18### Public 成员函数
19
20| 名称 | 描述 |
21| -------- | -------- |
22| [GetInterfaceActiveStatus](#getinterfaceactivestatus) ([in] struct UsbDev dev, [in] unsigned char interfaceid, [out] boolean unactivated) | 获取USB设备接口的激活信息。 |
23| [GetDeviceSpeed](#getdevicespeed) ([in] struct UsbDev dev, [out] unsigned char speed) | 获取USB设备速率。 |
24| [GetDeviceFileDescriptor](#getdevicefiledescriptor) ([in] struct UsbDev dev, [out] FileDescriptor fd) | 获取文件描述符。 |
25| [BulkTransferReadwithLength](#bulktransferreadwithlength) ([in] struct UsbDev dev, [in] struct UsbPipe pipe, [in] int timeout, [in] int length, [out] unsigned char[] data) | 在USB设备指定端点方向为读取时,执行批量数据读取。 |
26| [ClearHalt](#clearhalt) ([in] struct UsbDev dev, [in] struct UsbPipe pipe) | 清除端点的暂停状态。 |
27| [ControlTransferReadwithLength](#controltransferreadwithlength) ([in] struct UsbDev dev, [in] struct [UsbCtrlTransferParams](_usb_ctrl_transfer_params_v11.md) ctrl, [out] unsigned char[] data) | 在传输状态为读取并且控制端点是端点零时,对USB设备执行控制传输。 |
28| [ResetDevice](#resetdevice) ([in] struct UsbDev dev) | 重置设备。 |
29
30
31## 成员函数说明
32
33
34### BulkTransferReadwithLength()
35
36```
37IUsbInterface::BulkTransferReadwithLength ([in] struct UsbDev dev, [in] struct UsbPipe pipe, [in] int timeout, [in] int length, [out] unsigned char[] data )
38```
39
40**描述**
41
42在USB设备指定端点方向为读取时,执行批量数据读取。
43
44**起始版本:** 5.0
45
46**参数:**
47
48| 名称 | 描述 |
49| -------- | -------- |
50| dev | USB设备地址信息。 |
51| pipe | USB设备管道信息。 |
52| timeout | 超时时间。 |
53| length | 读取的最大字节长度。 |
54| data | 读取的数据。 |
55
56**返回:**
57
580 表示操作成功。
59
60非零值 表示操作失败。
61
62
63### ClearHalt()
64
65```
66IUsbInterface::ClearHalt ([in] struct UsbDev dev, [in] struct UsbPipe pipe )
67```
68
69**描述**
70
71清除端点的暂停状态。
72
73**起始版本:** 5.0
74
75**参数:**
76
77| 名称 | 描述 |
78| -------- | -------- |
79| dev | USB设备地址信息。 |
80| pipe | USB设备管道信息。 |
81
82**返回:**
83
840 表示操作成功。
85
86非零值 表示操作失败。
87
88
89### ControlTransferReadwithLength()
90
91```
92IUsbInterface::ControlTransferReadwithLength ([in] struct UsbDev dev, [in] struct UsbCtrlTransferParams ctrl, [out] unsigned char[] data )
93```
94
95**描述**
96
97在传输状态为读取并且控制端点是端点零时,对USB设备执行控制传输。
98
99**起始版本:** 5.0
100
101**参数:**
102
103| 名称 | 描述 |
104| -------- | -------- |
105| dev | USB设备地址信息。 |
106| ctrl | USB设备控制数据。 |
107| data | 写入的数据。 |
108
109**返回:**
110
1110 表示操作成功。
112
113非零值 表示操作失败。
114
115
116### GetDeviceFileDescriptor()
117
118```
119IUsbInterface::GetDeviceFileDescriptor ([in] struct UsbDev dev, [out] FileDescriptor fd )
120```
121
122**描述**
123
124获取文件描述符。
125
126**起始版本:** 5.0
127
128**参数:**
129
130| 名称 | 描述 |
131| -------- | -------- |
132| dev | USB设备地址信息。 |
133| fd | USB USB设备文件描述符。 |
134
135**返回:**
136
1370 表示操作成功。
138
139非零值 表示操作失败。
140
141
142### GetDeviceSpeed()
143
144```
145IUsbInterface::GetDeviceSpeed ([in] struct UsbDev dev, [out] unsigned char speed )
146```
147
148**描述**
149
150获取USB设备速率。
151
152**起始版本:** 5.0
153
154**参数:**
155
156| 名称 | 描述 |
157| -------- | -------- |
158| dev | USB设备地址信息。 |
159| speed | USB设备速率。 |
160
161**返回:**
162
1630 表示操作成功。
164
165非零值 表示操作失败。
166
167
168### GetInterfaceActiveStatus()
169
170```
171IUsbInterface::GetInterfaceActiveStatus ([in] struct UsbDev dev, [in] unsigned char interfaceid, [out] boolean unactivated )
172```
173
174**描述**
175
176获取USB设备接口的激活信息。
177
178**起始版本:** 5.0
179
180**参数:**
181
182| 名称 | 描述 |
183| -------- | -------- |
184| dev | USB设备地址信息。 |
185| interfaceid | USB设备接口ID。 |
186| unactivated | USB设备接口激活状态。true表示未激活,false表示已激活。 |
187
188**返回:**
189
1900 表示操作成功。
191
192非零值 表示操作失败。
193
194
195### ResetDevice()
196
197```
198IUsbInterface::ResetDevice ([in] struct UsbDev dev)
199```
200
201**描述**
202
203重置设备。
204
205**起始版本:** 5.0
206
207**参数:**
208
209| 名称 | 描述 |
210| -------- | -------- |
211| dev | USB设备地址信息。 |
212
213**返回:**
214
2150 表示操作成功。
216
217非零值 表示操作失败。
218