Je suis en train de mettre à jour un vieux code ancien (qui fonctionne pour le moment, mais qui utilise OpenTransport, donc um ... non) qui s'interface avec un scanner USB. Je pense que je comprends comment IOUSBDeviceInterface
et IOUSBInterfaceInterface
sont censés fonctionner, mais je ne peux pas sembler obtenir des informations sur les tuyaux.Programmation d'un périphérique USB sur un Mac
J'ai une méthode qui prend: (IOUSBInterfaceInterface **)intf
qui a deux tuyaux. Je crois qu'il est correctement configuré, mais je ne suis pas sûr de savoir comment le tester. , Je Intérieur:
for (i=1; i <= numPipes; i++)
{
err = (*intf)->GetPipeProperties(intf, i, &direction, &number, &transferType, &maxPacketSize, &interval);
}
Mais il retourne kIOReturnNotOpen
. Je détecte le scanner correctement (lorsque le scanner est éteint, il ne parvient même pas à ce stade) et je ne pense pas que d'autres programmes tentent d'accéder au scanner.
Existe-t-il un moyen judicieux de déterminer ce qui ne va pas? (c.-à-d., quel autre programme pense qu'il a les tuyaux ouverts, ou quoi?)
Le code est techniquement en Objective-C, mais comme vous pouvez le voir, le code ci-dessus est assez vanille C, d'où les balises.
D'oh. oui. c'était le problème. Merci! –