如何从DigitalPersona指纹读取器读取chrome.usb.bulkTransfer?

如何从DigitalPersona指纹读取器读取chrome.usb.bulkTransfer?,usb,google-chrome-app,Usb,Google Chrome App,我试图从DigitalPersona指纹读取器读取指纹 遵循api,我编写了以下代码: //ignore the findDevice() part var transferInfo = { "direction": "in", "endpoint": 3, //don't know where to find device protocol, 3 is a random number. "length": 318 } chrome.usb.bulkTransfer(c

我试图从DigitalPersona指纹读取器读取指纹

遵循api,我编写了以下代码:

//ignore the findDevice() part

var transferInfo = {
    "direction": "in",
    "endpoint": 3, //don't know where to find device protocol, 3 is a random number.
    "length": 318
}
chrome.usb.bulkTransfer(connectionHandle, transferInfo, function(event){
    console.log("got " + event.data.byteLength + " bytes");
});

但我的结果是“得到0字节”。为什么?

要获得正确的端点,应该调用
chrome.usb.getConfiguration
函数

结果将是一个对象,其属性名为interfaces

如果您枚举找到的接口,您将为每个接口找到一个名为端点的属性,该属性枚举可用的接口

根据所需的通信通道选择端点:

  • 输入/输出
  • 批量/中断/
然后,获取其地址属性以填充
bulkTransfer
函数调用的
generictTransferInfo
端点属性

var transferInfo = {
    "direction": "in",
    "endpoint": 132, //value of "address" for the bulkTransfer/in endpoint
    "length": 318
}

为了找到端点,我使用了USB浏览器软件(windows中的USBView,mac中的USB prober),它提供了设备上一些有趣的数据,比如可以找到相应规范的类。谢谢你的回答。由于我发现chrome无法在没有替换驱动程序的情况下获得digitalPersona指纹读取器,我将放弃在chrome上开发。