chrome.usb

说明

使用 chrome.usb API 与连接的 USB 设备进行交互。此 API 支持从应用环境中访问 USB 操作。使用此 API,应用可以充当硬件设备的驱动程序。通过设置 runtime.lastError 并执行函数的常规回调来报告此 API 生成的错误。在这种情况下,回调的常规参数将处于未定义状态。

权限

usb

类型

ConfigDescriptor

属性

  • 活跃

    布尔值

    Chrome 47 及更高版本

    这是有效配置吗?

  • configurationValue

    number

    配置编号。

  • 说明

    字符串(可选)

    配置的说明。

  • extra_data

    数组缓冲区

    与此配置关联的其他描述符数据。

  • 可用的接口。

  • maxPower

    number

    此设备所需的最大功率,以毫安 (mA) 为单位。

  • remoteWakeup

    布尔值

    设备支持远程唤醒。

  • selfPowered

    布尔值

    设备自供电。

ConnectionHandle

属性

  • 句柄

    number

    一个不透明句柄,用于表示与 USB 设备、所有关联的已声明接口和待处理传输的连接。每次打开设备时,系统都会创建一个新句柄。连接句柄与 Device.device 不同。

  • productId

    number

    产品 ID。

  • vendorId

    number

    设备供应商 ID。

ControlTransferInfo

属性

  • 数据

    ArrayBuffer 可选

    要传输的数据(仅输出传输需要)。

  • 方向

    转账方向("in""out")。

  • 索引

    number

    wIndex 字段,请参见同上

  • 长度

    编号(选填

    要接收的最大字节数(仅输入传输需要)。

  • 接收人

    转移目标。如果值为 "interface""endpoint",则必须声明 index 指定的目标。

  • request

    number

    对于 bRequest 字段,请参阅通用串行总线规范修订版 1.1 § 9.3。

  • requestType

    请求类型。

  • 超时

    编号(选填

    Chrome 43 及更高版本

    请求超时(以毫秒为单位)。默认值 0 表示无超时。

  • number

    wValue 字段,请参见同上

Device

属性

  • 设备

    number

    USB 设备的不透明 ID。在设备被拔下之前,此 ID 会保持不变。

  • manufacturerName

    字符串

    Chrome 46 及更高版本

    从设备读取的 iManufacturer 字符串(如果有)。

  • productId

    number

    产品 ID。

  • productName

    字符串

    Chrome 46 及更高版本

    从设备读取的 iProduct 字符串(如果有)。

  • serialNumber

    字符串

    Chrome 46 及更高版本

    从设备读取的 iSerialNumber 字符串(如果有)。

  • vendorId

    number

    设备供应商 ID。

  • 版本

    number

    Chrome 51 及更高版本

    设备版本(bcdDevice 字段)。

DeviceFilter

属性

  • interfaceClass

    编号(选填

    USB 接口类,与设备上的任何接口匹配。

  • interfaceProtocol

    编号(选填

    USB 接口协议,仅在接口子类匹配时选中。

  • interfaceSubclass

    编号(选填

    USB 接口子类,仅在接口类匹配时才勾选。

  • productId

    编号(选填

    设备产品 ID,仅当供应商 ID 匹配时才检查。

  • vendorId

    编号(选填

    设备供应商 ID。

DevicePromptOptions

属性

  • 过滤条件

    DeviceFilter[] 可选

    过滤呈现给用户的设备列表。如果提供了多个过滤条件,系统会显示与任意过滤条件匹配的设备。

  • 多个

    布尔值(可选)

    允许用户选择多台设备。

Direction

Direction、Recipient、RequestType 和 TransferType 均映射到 USB 规范中的对应名称。

枚举

"in"

"输出"

EndpointDescriptor

属性

  • 地址

    number

    端点地址。

  • 方向

    转接方向。

  • extra_data

    数组缓冲区

    与此端点关联的额外描述符数据。

  • maximumPacketSize

    number

    数据包大小上限。

  • pollingInterval

    编号(选填

    轮询间隔(仅限中断和等时)。

  • 同步

    传输同步模式(仅限等时)。

  • 类型

    传输类型。

  • 使用量

    UsageType(选填)

    端点使用提示。

EnumerateDevicesAndRequestAccessOptions

属性

  • interfaceId

    编号(选填

    要请求访问权限的接口 ID。仅适用于 ChromeOS。对其他平台没有影响。

  • productId

    number

    产品 ID。

  • vendorId

    number

    设备供应商 ID。

EnumerateDevicesOptions

属性

  • 过滤条件

    DeviceFilter[] 可选

    系统将返回与任意指定过滤条件匹配的设备。空的过滤条件列表将返回应用有权使用的所有设备。

  • productId

    编号(选填

    <ph type="x-smartling-placeholder"></ph> 已弃用

    相当于设置 DeviceFilter.productId

  • vendorId

    编号(选填

    <ph type="x-smartling-placeholder"></ph> 已弃用

    相当于设置 DeviceFilter.vendorId

GenericTransferInfo

属性

  • 数据

    ArrayBuffer 可选

    要传输的数据(仅输出传输需要)。

  • 方向