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