I’m doing the following:
IOUSBDeviceInterface **deviceInterface;
and then
HRESULT result;
kern_return_t kret;
IOCFPlugInInterface **plugInInterface = NULL;
kret = IOCreatePlugInInterfaceForService(usbDevice,
kIOUSBDeviceInterfaceID187,
kIOCFPlugInInterfaceID,
&plugInInterface, &score);
result = (*plugInInterface)->QueryInterface(plugInInterface,
CFUUIDGetUUIDBytes(kIOUSBDeviceInterfaceID187),
(LPVOID*) &deviceInterface);
Do I need to declare the IOUSBDeviceInterface differently, or am I out in left
field?
-Carl
On Dec 15, 2014, at 3:44 PM, Fernando Urbina <[email protected]> wrote:
> Are you creating the appropriate IOUSBDeviceInterface? You need to create
> one that matches the version where USBDeviceReEnumerate was intro’d:
>
> kIOUSBDeviceInterfaceID187
>
>
>
>
>> On Dec 15, 2014, at 3:37 PM, Carl Hoefs <[email protected]>
>> wrote:
>>
>> Thanks for the pointer. Yes, this is from within a user-mode OS X app. I can
>> do everything successfully but call the USBDeviceReEnumerate() function.
>>
>> In a nutshell, I iterate through IOIteratorNext():
>> If there is a match of vid/pid:
>> invoke IORegistryEntryGetName()
>> invoke IORegistryEntryGetPath()
>> invoke IORegistryEntryCreateCFProperties()
>> invoke IOCreatePlugInInterfaceForService()
>> invoke QueryInterface() to get the device interface
>> (all of the above works successfully)
>> and then try to invoke USBDeviceReEnumerate(), which seems to exist in the
>> Twilight Zone.
>>
>> But Xcode doesn’t resolve the function. I can manually place a function
>> prototype in my code to get it to build, but at runtime, when it invokes
>> USBDeviceReEnumerate(), it crashes with a EXC_BAD_ACCESS due to the
>> function’s unresolved address being 0x00000000. This happens both on 10.9
>> and 10.10 systems.
>>
>> If there were sample code that actually invoked USBDeviceReEnumerate(), that
>> would be great. Somehow it appears to exist, but just beyond my reach…
>>
>> -Carl
>>
>>
>> On Dec 15, 2014, at 3:10 PM, Fernando Urbina <[email protected]> wrote:
>>
>>> You need to take a look at some of the sample code in order to understand
>>> how to use IOUSBLib.h. This is one of my favorite sample code snippets:
>>>
>>> https://developer.apple.com/library/mac/samplecode/USBPrivateDataSample/Introduction/Intro.html
>>>
>>>
>>>
>>> Woof,
>>>
>>> Nano Urbina
>>> Build Slave
>>> Razz Software
>>> http://www.razzsoftware.com
>>>
>>
>
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Usb mailing list ([email protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/usb/archive%40mail-archive.com
This email sent to [email protected]