openharmony 鸿蒙 js-apis-driver-deviceManager-sys

2025-06-12 浏览 (1)

@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

参数:

参数名类型必填说明
deviceIdnumber设备ID,通过queryDevices获得。如果不传入设备ID,则默认获取所有的设备信息;如果没有外接设备,且没有传入设备ID则会返回空数组。

返回值:

类型说明
Array<Readonly<DeviceInfo>>扩展外设详细信息列表。

错误码:

错误码ID错误信息
201The permission check failed.
202Permission denied. A non-system application cannot call a system API.
401Parameter error. Possible causes: 1.Incorrect parameter types.
26300001ExternalDeviceManager 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

参数:

参数名类型必填说明
driverUidstring驱动UID,通过queryDeviceInfo获得。

返回值:

类型说明
Array<Readonly<DriverInfo>>扩展外设驱动详细信息列表。

错误码:

错误码ID错误信息
201The permission check failed.
202Permission denied. A non-system application cannot call a system API.
401Parameter error. Possible causes: 1.Incorrect parameter types.
26300001ExternalDeviceManager 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

名称类型必填说明
deviceIdnumber设备ID。
isDriverMatchedboolean设备是否匹配到驱动。
driverUidstring设备匹配的驱动UID。

USBDeviceInfo

USB设备详细信息,继承自DeviceInfo

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Driver.ExternalDevice

名称类型必填说明
vendorIdnumberUSB设备Vendor ID。
productIdnumberUSB设备Product ID。
interfaceDescListArray<Readonly<USBInterfaceDesc>>USB设备接口描述符列表。

USBInterfaceDesc

USB设备接口描述符。

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Driver.ExternalDevice

名称类型必填说明
bInterfaceNumbernumber接口编号。
bClassnumber类型代码。
bSubClassnumber子类型代码。
bProtocolnumber协议代码。

DriverInfo

驱动详细信息。

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Driver.ExternalDevice

名称类型必填说明
busTypeBusType总线类型。
driverUidstring驱动Uid。
driverNamestring驱动名称。
driverVersionstring驱动版本。
driverSizestring驱动大小(单位为Byte)。
descriptionstring驱动描述。

USBDriverInfo

USB设备驱动详细信息,继承自DriverInfo

系统接口: 此接口为系统接口。

系统能力: SystemCapability.Driver.ExternalDevice

名称类型必填说明
productIdListArray<number>驱动支持的USB设备product ID列表。
vendorIdListArray<number>驱动支持的USB设备vendor ID列表。

你可能感兴趣的鸿蒙文章

harmony 鸿蒙Driver Development Kit(驱动开发服务)

harmony 鸿蒙Base DDK

harmony 鸿蒙DDK_Ashmem

harmony 鸿蒙Hid_AbsAxesArray

harmony 鸿蒙Hid_Device

harmony 鸿蒙Hid_EmitItem

harmony 鸿蒙Hid_EventProperties

harmony 鸿蒙Hid_EventTypeArray

harmony 鸿蒙Hid_KeyCodeArray

harmony 鸿蒙Hid_MscEventArray

  • 所属分类: 后端技术
  • 本文标签: 鸿蒙 软件
  • 版权声明: 本文链接 https://seaxiang.com/blog/M4EZzS