harmony 鸿蒙@ohos.driver.deviceManager (外设管理)(系统接口)

  • 2025-06-12
  • 浏览 (2)

@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&lt;Readonly&lt;DriverInfo&gt;&gt;

查询扩展外设驱动详细信息列表。如果没有设备接入,那么将会返回一个空的列表。

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

需要权限:ohos.permission.ACCESS_EXTENSIONAL_DEVICE_DRIVER

系统能力: SystemCapability.Driver.ExternalDevice

参数:

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

返回值:

类型 说明
Array&lt;Readonly&lt;DriverInfo&gt;&gt; 扩展外设驱动详细信息列表。

错误码:

错误码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&lt;Readonly&lt;USBInterfaceDesc&gt;&gt; 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&lt;number&gt; 驱动支持的USB设备product ID列表。
vendorIdList Array&lt;number&gt; 驱动支持的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

0  赞