I have USB software that we use to talk to various USB/USB2 printers
that has worked fine for many different printers. We need to work
with a new printer - a Kodak 9810 - and are running into an odd
problem. We get the notification that the device was added, the
problem is once we get the IOUSBDeviceInterface and call
CreateInterfaceIterator on that, we get back an empty iterator (i.e.
the first call to IOIteratorNext returns NULL), thus cannot get the
IOUSBInterfaceInterface - from testing we've done, we clearly get the
correct IOUSBDeviceInterface. Our code fragment is below and works
for all of the other printers we've used - what could be going wrong
with this printer?
// I have the interface plugin. I need the interface interface
IOUSBInterfaceInterface **interface = NULL;
HRESULT res = (*plugInInterface)->QueryInterface
(plugInInterface, CFUUIDGetUUIDBytes(kIOUSBInterfaceInterfaceID),
(LPVOID*) &interface);
(*plugInInterface)->Release(plugInInterface); // done with this
if (intfClass == kUSBPrintingClass)
result = new USBDevice(usbService, device, interface);
else
(*interface)->Release(interface);
}
return result;
}
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Usb mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/usb/email@hidden