http://bugs.winehq.org/show_bug.cgi?id=12242
--- Comment #3 from Christopher raccoonone@procyongames.com 2008-03-28 15:18:06 --- Created an attachment (id=11715) --> (http://bugs.winehq.org/attachment.cgi?id=11715) log of SetupDiDeleteDeviceInterfaceRegKey bad pointers
The page faults are caused by SetupDiDeleteDeviceInterfaceRegKey. For some reason PhoenixRC is passing an invalid pointer. I disabled SetupDiDeleteDeviceInterfaceRegKey by making it always return TRUE (without actually doing anything), so that I could generate this log of all the setupapi calls. 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).