我正在更新一些旧的代码(目前有效,但正在使用opentransport,所以嗯…与USB扫描仪接口。我想我理解IOUSBDeviceInterface
和IOUSBInterfaceInterface
应该如何工作,但我似乎无法获得有关管道的信息。
我有一个方法是:(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/