harmony 鸿蒙@ohos.driver.deviceManager (外设管理)(系统接口)
@ohos.driver.deviceManager (外设管理)(系统接口)
本模块主要提供管理外部设备的相关功能,包括查询扩展外设详细信息和查询扩展外设驱动详细信息。
说明:
- 本模块首批接口从API version 12开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
- 当前页面仅包含本模块的系统接口,其他公开接口请参见@ohos.driver.deviceManager (外设管理)。
导入模块
import { deviceManager } from '@kit.DriverDevelopmentKit';
deviceManager.queryDeviceInfo
queryDeviceInfo(deviceId?: number): Array<Readonly<DeviceInfo>>
查询扩展外设详细信息列表。如果没有设备接入,那么将会返回一个空的列表。
系统接口:此接口为系统接口。
需要权限:ohos.permission.ACCESS_EXTENSIONAL_DEVICE_DRIVER
系统能力: SystemCapability.Driver.ExternalDevice
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
deviceId | number | 否 | 设备ID,通过queryDevices获得。如果不传入设备ID,则默认获取所有的设备信息;如果没有外接设备,且没有传入设备ID则会返回空数组。 |
返回值:
类型 | 说明 |
---|---|
Array<Readonly<DeviceInfo>> | 扩展外设详细信息列表。 |
错误码:
错误码ID | 错误信息 |
---|---|
201 | The permission check failed. |
202 | Permission denied. A non-system application cannot call a system API. |
401 | Parameter error. Possible causes: 1.Incorrect parameter types. |
26300001 | ExternalDeviceManager service exception. |
示例:
import { deviceManager } from '@kit.DriverDevelopmentKit';
import { BusinessError } from '@kit.BasicServicesKit';
try {
// 12345678为示例deviceId,应用开发时可通过queryDevices查询到相应设备的deviceId作为入参
let deviceInfos : Array<deviceManager.DeviceInfo> = deviceManager.queryDeviceInfo(12345678);
for (let item of deviceInfos) {
console.info(`Device id is ${item.deviceId}`)
}
} catch (error) {
let err: BusinessError = error as BusinessError;
console.error(`Failed to query device info. Code is ${err.code}, message is ${err.message}`);
}
deviceManager.queryDriverInfo
queryDriverInfo(driverUid?: string): Array<Readonly<DriverInfo>>
查询扩展外设驱动详细信息列表。如果没有设备接入,那么将会返回一个空的列表。
系统接口:此接口为系统接口。
需要权限:ohos.permission.ACCESS_EXTENSIONAL_DEVICE_DRIVER
系统能力: SystemCapability.Driver.ExternalDevice
参数:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
driverUid | string | 否 | 驱动UID,通过queryDeviceInfo获得。 |
返回值:
类型 | 说明 |
---|---|
Array<Readonly<DriverInfo>> | 扩展外设驱动详细信息列表。 |
错误码:
错误码ID | 错误信息 |
---|---|
201 | The permission check failed. |
202 | Permission denied. A non-system application cannot call a system API. |
401 | Parameter error. Possible causes: 1.Incorrect parameter types. |
26300001 | ExternalDeviceManager service exception. |
示例:
import { deviceManager } from '@kit.DriverDevelopmentKit';
import { BusinessError } from '@kit.BasicServicesKit';
try {
// driver-12345为示例driverUid,应用开发时可通过queryDeviceInfo查询到相应设备匹配到的驱动的driverUid作为入参
let driverInfos : Array<deviceManager.DriverInfo> = deviceManager.queryDriverInfo("driver-12345");
for (let item of driverInfos) {
console.info(`driver name is ${item.driverName}`)
}
} catch (error) {
let err: BusinessError = error as BusinessError;
console.error(`Failed to query driver info. Code is ${err.code}, message is ${err.message}`);
}
DeviceInfo
设备详细信息。
系统接口: 此接口为系统接口。
系统能力: SystemCapability.Driver.ExternalDevice
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
deviceId | number | 是 | 设备ID。 |
isDriverMatched | boolean | 是 | 设备是否匹配到驱动。 |
driverUid | string | 否 | 设备匹配的驱动UID。 |
USBDeviceInfo
USB设备详细信息,继承自DeviceInfo。
系统接口: 此接口为系统接口。
系统能力: SystemCapability.Driver.ExternalDevice
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
vendorId | number | 是 | USB设备Vendor ID。 |
productId | number | 是 | USB设备Product ID。 |
interfaceDescList | Array<Readonly<USBInterfaceDesc>> | 是 | USB设备接口描述符列表。 |
USBInterfaceDesc
USB设备接口描述符。
系统接口: 此接口为系统接口。
系统能力: SystemCapability.Driver.ExternalDevice
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
bInterfaceNumber | number | 是 | 接口编号。 |
bClass | number | 是 | 类型代码。 |
bSubClass | number | 是 | 子类型代码。 |
bProtocol | number | 是 | 协议代码。 |
DriverInfo
驱动详细信息。
系统接口: 此接口为系统接口。
系统能力: SystemCapability.Driver.ExternalDevice
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
busType | BusType | 是 | 总线类型。 |
driverUid | string | 是 | 驱动Uid。 |
driverName | string | 是 | 驱动名称。 |
driverVersion | string | 是 | 驱动版本。 |
driverSize | string | 是 | 驱动大小(单位为Byte)。 |
description | string | 是 | 驱动描述。 |
USBDriverInfo
USB设备驱动详细信息,继承自DriverInfo。
系统接口: 此接口为系统接口。
系统能力: SystemCapability.Driver.ExternalDevice
名称 | 类型 | 必填 | 说明 |
---|---|---|---|
productIdList | Array<number> | 是 | 驱动支持的USB设备product ID列表。 |
vendorIdList | Array<number> | 是 | 驱动支持的USB设备vendor ID列表。 |
你可能感兴趣的鸿蒙文章
- 所属分类: 后端技术
- 本文标签:
热门推荐
-
2、 - 优质文章
-
3、 gate.io
-
8、 golang
-
9、 openharmony
-
10、 Vue中input框自动聚焦