1# @ohos.driver.deviceManager (外设管理)(系统接口) 2 3本模块主要提供管理外部设备的相关功能,包括查询扩展外设详细信息和查询扩展外设驱动详细信息。 4 5> **说明:** 6> 7> * 本模块首批接口从API version 12开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8> * 当前页面仅包含本模块的系统接口,其他公开接口请参见[@ohos.driver.deviceManager (外设管理)](js-apis-driver-deviceManager.md) 9 10## 导入模块 11 12```ts 13import { deviceManager } from '@kit.DriverDevelopmentKit'; 14``` 15 16## deviceManager.queryDeviceInfo 17 18queryDeviceInfo(deviceId?: number): Array<Readonly<DeviceInfo>> 19 20查询扩展外设详细信息列表。如果没有设备接入,那么将会返回一个空的列表。 21 22**系统接口**:此接口为系统接口。 23 24**需要权限**:ohos.permission.ACCESS_EXTENSIONAL_DEVICE_DRIVER 25 26**系统能力:** SystemCapability.Driver.ExternalDevice 27 28**参数:** 29 30| 参数名 | 类型 | 必填 | 说明 | 31|----------|--------|-----|------------------------| 32| deviceId | number | 否 | 设备ID,通过queryDevices获得。 | 33 34**返回值:** 35 36| 类型 | 说明 | 37|--------------------------------------------------------|-------------| 38| Array<Readonly<[DeviceInfo](#deviceinfo)>> | 扩展外设详细信息列表。 | 39 40**错误码:** 41 42| 错误码ID | 错误信息 | 43|----------|-----------------------------------------------------------------------| 44| 201 | The permission check failed. | 45| 202 | Permission denied. A non-system application cannot call a system API. | 46| 401 | Parameter error. Possible causes: 1.Incorrect parameter types. | 47| 26300001 | ExternalDeviceManager service exception. | 48 49**示例:** 50 51```ts 52import { deviceManager } from '@kit.DriverDevelopmentKit'; 53import { BusinessError } from '@kit.BasicServicesKit'; 54 55try { 56 // 12345678为示例deviceId,应用开发时可通过queryDevices查询到相应设备的deviceId作为入参 57 let deviceInfos : Array<deviceManager.DeviceInfo> = deviceManager.queryDeviceInfo(12345678); 58 for (let item of deviceInfos) { 59 console.info(`Device id is ${item.deviceId}`) 60 } 61} catch (error) { 62 let err: BusinessError = error as BusinessError; 63 console.error(`Failed to query device info. Code is ${err.code}, message is ${err.message}`); 64} 65``` 66## deviceManager.queryDriverInfo 67 68queryDriverInfo(driverUid?: string): Array<Readonly<DriverInfo>> 69 70查询扩展外设驱动详细信息列表。如果没有设备接入,那么将会返回一个空的列表。 71 72**系统接口**:此接口为系统接口。 73 74**需要权限**:ohos.permission.ACCESS_EXTENSIONAL_DEVICE_DRIVER 75 76**系统能力:** SystemCapability.Driver.ExternalDevice 77 78**参数:** 79 80| 参数名 | 类型 | 必填 | 说明 | 81|-----------|--------|-----|----------------------------| 82| driverUid | string | 否 | 驱动UID,通过queryDeviceInfo获得。 | 83 84**返回值:** 85 86| 类型 | 说明 | 87|--------------------------------------------------------|---------------| 88| Array<Readonly<[DriverInfo](#driverinfo)>> | 扩展外设驱动详细信息列表。 | 89 90**错误码:** 91 92| 错误码ID | 错误信息 | 93|----------|-----------------------------------------------------------------------| 94| 201 | The permission check failed. | 95| 202 | Permission denied. A non-system application cannot call a system API. | 96| 401 | Parameter error. Possible causes: 1.Incorrect parameter types. | 97| 26300001 | ExternalDeviceManager service exception. | 98 99**示例:** 100 101```ts 102import { deviceManager } from '@kit.DriverDevelopmentKit'; 103import { BusinessError } from '@kit.BasicServicesKit'; 104 105try { 106 // driver-12345为示例driverUid,应用开发时可通过queryDeviceInfo查询到相应设备匹配到的驱动的driverUid作为入参 107 let driverInfos : Array<deviceManager.DriverInfo> = deviceManager.queryDriverInfo("driver-12345"); 108 for (let item of driverInfos) { 109 console.info(`driver name is ${item.driverName}`) 110 } 111} catch (error) { 112 let err: BusinessError = error as BusinessError; 113 console.error(`Failed to query driver info. Code is ${err.code}, message is ${err.message}`); 114} 115``` 116 117## DeviceInfo 118 119设备详细信息。 120 121**系统接口:** 此接口为系统接口。 122 123**系统能力:** SystemCapability.Driver.ExternalDevice 124 125| 名称 | 类型 | 必填 | 说明 | 126|-----------------|---------|-----|-------------| 127| deviceId | number | 是 | 设备ID。 | 128| isDriverMatched | boolean | 是 | 设备是否匹配到驱动。 | 129| driverUid | string | 否 | 设备匹配的驱动UID。 | 130 131## USBDeviceInfo 132 133USB设备详细信息,继承自[DeviceInfo](#deviceinfo)。 134 135**系统接口:** 此接口为系统接口。 136 137**系统能力:** SystemCapability.Driver.ExternalDevice 138 139| 名称 | 类型 | 必填 | 说明 | 140|-------------------|--------------------------------------------------------------------|-----|------------------| 141| vendorId | number | 是 | USB设备Vendor ID。 | 142| productId | number | 是 | USB设备Product ID。 | 143| interfaceDescList | Array<Readonly<[USBInterfaceDesc](#usbinterfacedesc)>> | 是 | USB设备接口描述符列表。 | 144 145## USBInterfaceDesc 146 147USB设备接口描述符。 148 149**系统接口:** 此接口为系统接口。 150 151**系统能力:** SystemCapability.Driver.ExternalDevice 152 153| 名称 | 类型 | 必填 | 说明 | 154|------------------|--------|-----|--------| 155| bInterfaceNumber | number | 是 | 接口编号。 | 156| bClass | number | 是 | 类型代码。 | 157| bSubClass | number | 是 | 子类型代码。 | 158| bProtocol | number | 是 | 协议代码。 | 159 160## DriverInfo 161 162驱动详细信息。 163 164**系统接口:** 此接口为系统接口。 165 166**系统能力:** SystemCapability.Driver.ExternalDevice 167 168| 名称 | 类型 | 必填 | 说明 | 169|---------------|----------------------------------------------------|-----|----------------| 170| busType | [BusType](js-apis-driver-deviceManager.md#bustype) | 是 | 总线类型。 | 171| driverUid | string | 是 | 驱动Uid。 | 172| driverName | string | 是 | 驱动名称。 | 173| driverVersion | string | 是 | 驱动版本。 | 174| driverSize | string | 是 | 驱动大小(单位为Byte)。 | 175| description | string | 是 | 驱动描述。 | 176 177## USBDriverInfo 178 179USB设备驱动详细信息,继承自[DriverInfo](#driverinfo)。 180 181**系统接口:** 此接口为系统接口。 182 183**系统能力:** SystemCapability.Driver.ExternalDevice 184 185| 名称 | 类型 | 必填 | 说明 | 186|---------------|---------------------|-----|-------------------------| 187| productIdList | Array<number> | 是 | 驱动支持的USB设备product ID列表。 | 188| vendorIdList | Array<number> | 是 | 驱动支持的USB设备vendor ID列表。 |