http://bugs.winehq.org/show_bug.cgi?id=12242
--- Comment #5 from Christopher raccoonone@procyongames.com 2008-03-30 23:25:38 --- (In reply to comment #4)
(In reply to comment #3)
As you can see the interface 0x13ef10 is never created, yet PhoenixRC tries to delete it twice and passes 0x3a (also never created) as the HDEVINFO handle. I don't know if this is a bug (feature?) in PhoenixRC, but I'll patch SetupDiDeleteDeviceInterfaceRegKey so that it won't page fault on a bad pointer (Windows does not, it returns FALSE and an error code).
You don't think it's just a bug in setupapi? Notice that SetupDiDestroyDeviceInfoList is called just before these bogus handles are passed to SetupDiDeleteDeviceInterfaceRegKey. The following call path could produce that: SetupDiDestroyDeviceInfoList SETUPDI_FreeDeviceInfo SETUPDI_FreeInterfaceInstances SetupDiDeleteDeviceInterfaceRegKey
You might try Alexander Morozov's patches instead, they seem to address some bogus pointer bug in setupapi.
Yep, you were right. Alexander's patches fix the page faults. However the HID for Phoenix is still not detected. I copied all of the registry keys for DeviceClasses and Enum from a working Windows install. Any ideas?