我正在更新一些旧的代码(目前有效,但正在使用opentransport,所以嗯…与USB扫描仪接口。我想我理解IOUSBDeviceInterfaceIOUSBInterfaceInterface应该如何工作,但我似乎无法获得有关管道的信息。
我有一个方法是:(IOUSBInterfaceInterface **)intf有两个管道。我相信它的设置是正确的,但我不知道如何测试。在里面,我会:

for (i=1; i <= numPipes; i++)
{
    err = (*intf)->GetPipeProperties(intf, i, &direction, &number, &transferType, &maxPacketSize, &interval);
}

但它返回kIOReturnNotOpen。我正在正确地检测扫描仪(当扫描仪关闭,它甚至没有到达这个阶段),我不认为任何其他程序试图访问扫描仪。
有什么合理的方法来判断出了什么问题吗?(也就是说,还有什么程序认为它的管道是打开的,或者别的什么?)
代码在技术上是Objto-C,但是正如你所看到的,上面的代码是非常香草的C,因此是标签。

最佳答案

你打电话给我们国际公开赛了吗?
如果您还没有这样做,请看一看usbNotification示例代码。

关于c - 在Mac上对USB设备进行编程,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3205145/

10-10 12:36