1# IUsbfnMtpInterface 2 3 4## 概述 5 6定义在usb上执行基本操作的函数。 7 8操作包括获取usb信息、订阅或取消订阅usb数据、启用或禁用usb、设置usb数据报告模式以及设置准确性和测量范围等usb选项。 9 10**起始版本:** 4.0 11 12**相关模块:**[HdiUsbfnMtp](_hdi_usbfn_mtp.md) 13 14 15## 汇总 16 17 18### Public 成员函数 19 20| 名称 | 描述 | 21| -------- | -------- | 22| [Start](#start) () | 打开USB MTP/PTP驱动程序。 | 23| [Stop](#stop) () | 关闭USB MTP/PTP驱动程序。 | 24| [Read](#read) ([out] unsigned char[] data) | 通过USB MTP/PTP驱动程序读取数据。 | 25| [Write](#write) ([in] unsigned char[] data) | 通过USB MTP/PTP驱动程序写入数据。 | 26| [ReceiveFile](#receivefile) ([in] struct [UsbFnMtpFileSlice](_usb_fn_mtp_file_slice.md) mfs) | 通过USB MTP/PTP驱动程序接收文件。 代理处理文件管理,包括fopen/fclose/feek/fread/fwrite和偏移量信息,Stub负责数据处理。 | 27| [SendFile](#sendfile) ([in] struct [UsbFnMtpFileSlice](_usb_fn_mtp_file_slice.md) mfs) | 通过USB MTP/PTP驱动程序发送文件。 代理处理文件管理,包括fopen/fclose/feek/fread/fwrite和偏移量信息,Stub负责数据处理。 | 28| [SendEvent](#sendevent) ([in] unsigned char[] eventData) | 通过USB MTP/PTP驱动程序发送事件数据。 | 29| [Init](#init) () | 初始化USB MTP/PTP驱动程序。由usb_host使用。 | 30| [Release](#release) () | 释放USB MTP/PTP驱动程序。由usb_host使用。 | 31 32 33## 成员函数说明 34 35 36### Init() 37 38``` 39IUsbfnMtpInterface::Init () 40``` 41 42**描述** 43 44初始化USB MTP/PTP驱动程序。由usb_host使用。 45 46**起始版本:** 4.0 47 48**返回:** 49 500 表示操作成功。 51 52非零值 表示操作失败。 53 54 55### Read() 56 57``` 58IUsbfnMtpInterface::Read ([out] unsigned char[] data) 59``` 60 61**描述** 62 63通过USB MTP/PTP驱动程序读取数据。 64 65**起始版本:** 4.0 66 67**参数:** 68 69| 名称 | 描述 | 70| -------- | -------- | 71| data | 表示USB MTP/PTP驱动程序读取的数据。 | 72 73**返回:** 74 75如果操作失败,则返回读取的字节数、-1或其他负值。 76 77 78### ReceiveFile() 79 80``` 81IUsbfnMtpInterface::ReceiveFile ([in] struct UsbFnMtpFileSlice mfs) 82``` 83 84**描述** 85 86通过USB MTP/PTP驱动程序接收文件。 代理处理文件管理,包括fopen/fclose/feek/fread/fwrite和偏移量信息,Stub负责数据处理。 87 88**起始版本:** 4.0 89 90**参数:** 91 92| 名称 | 描述 | 93| -------- | -------- | 94| mfs | 指示mtp文件切片信息。 | 95 96**返回:** 97 98如果接收成功,则返回**0**;如果操作失败,则返回**-1**或其他负值。 99 100 101### Release() 102 103``` 104IUsbfnMtpInterface::Release () 105``` 106 107**描述** 108 109释放USB MTP/PTP驱动程序。由usb_host使用。 110 111**起始版本:** 4.0 112 113**返回:** 114 1150 表示操作成功。 116 117非零值 表示操作失败。 118 119 120### SendEvent() 121 122``` 123IUsbfnMtpInterface::SendEvent ([in] unsigned char[] eventData) 124``` 125 126**描述** 127 128通过USB MTP/PTP驱动程序发送事件数据。 129 130**起始版本:** 4.0 131 132**参数:** 133 134| 名称 | 描述 | 135| -------- | -------- | 136| data | 指示事件数据写入USB MTP/PTP驱动程序。 | 137 138**返回:** 139 140如果接收成功,则返回**0**;如果操作失败,则返回**-1**或其他负值。 141 142 143### SendFile() 144 145``` 146IUsbfnMtpInterface::SendFile ([in] struct UsbFnMtpFileSlice mfs) 147``` 148 149**描述** 150 151通过USB MTP/PTP驱动程序发送文件。 代理处理文件管理,包括fopen/fclose/feek/fread/fwrite和偏移量信息,Stub负责数据处理。 152 153**起始版本:** 4.0 154 155**参数:** 156 157| 名称 | 描述 | 158| -------- | -------- | 159| mfs | 指示mtp文件范围信息,使用的是数据包标头。 | 160 161**返回:** 162 163如果接收成功,则返回**0**;如果操作失败,则返回**-1**或其他负值。 164 165 166### Start() 167 168``` 169IUsbfnMtpInterface::Start () 170``` 171 172**描述** 173 174打开USB MTP/PTP驱动程序。 175 176**起始版本:** 4.0 177 178**返回:** 179 1800 表示操作成功。 181 182非零值 表示操作失败。 183 184 185### Stop() 186 187``` 188IUsbfnMtpInterface::Stop () 189``` 190 191**描述** 192 193关闭USB MTP/PTP驱动程序。 194 195**起始版本:** 4.0 196 197**返回:** 198 1990 表示操作成功。 200 201非零值 表示操作失败。 202 203 204### Write() 205 206``` 207IUsbfnMtpInterface::Write ([in] unsigned char[] data) 208``` 209 210**描述** 211 212通过USB MTP/PTP驱动程序写入数据。 213 214**起始版本:** 4.0 215 216**参数:** 217 218| 名称 | 描述 | 219| -------- | -------- | 220| 通过USB | MTP/PTP驱动程序写入数据。data表示数据写入USB MTP/PT驱动程序。 | 221 222**返回:** 223 224如果操作失败,则返回写入的字节数、-1或其他负值。 225