[Bug 28605] BurnPlot (VB6 app) fails to start (needs wshom.ocx WshShell3_GetIDsOfNames implementation)
wine-bugs at winehq.org
wine-bugs at winehq.org
Tue Dec 20 09:36:48 CST 2011
http://bugs.winehq.org/show_bug.cgi?id=28605
Anastasius Focht <focht at gmx.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |focht at gmx.net
Component|oleaut32 |-unknown
Summary|BurnPlot fails to start |BurnPlot (VB6 app) fails to
| |start (needs wshom.ocx
| |WshShell3_GetIDsOfNames
| |implementation)
--- Comment #2 from Anastasius Focht <focht at gmx.net> 2011-12-20 09:36:48 CST ---
Hello,
confirming, it seems "WshShell3_GetIDsOfNames" stub is the culprit here.
That WSH stuff is late bound in VB6 app.
The app/VB6 runtime needs GetIDsOfNames() to find the dispid that represents
the function.
Once the ID is known, invoke can be called.
Prerequisite:
clean WINEPREFIX
'winetricks -q vbrun60'
WINEDEBUG=+tid,+seh,+relay,+snoop,+variant,+ole
--- snip ---
0024:CALL MSVBVM60.rtcCreateObject2(<unknown, check return>) ret=00413907
0024:Call ole32.CLSIDFromProgID(00407040 L"WScript.Shell",0032f800)
ret=660d965e
...
0024:Call KERNEL32.LoadLibraryExW(0032f3c2
L"C:\\windows\\system32\\wshom.ocx",00000000,00000008) ret=6839ce76
...
0024:Ret KERNEL32.LoadLibraryExW() retval=51a90000 ret=6839ce76
...
0024:trace:ole:apartment_getclassobject added new loaded dll
L"C:\\windows\\system32\\wshom.ocx"
0024:trace:ole:apartment_getclassobject calling DllGetClassObject 0x51aa063c
0024:Call wshom.ocx.DllGetClassObject(0032f800,6847e42c,0032f6bc) ret=6839ec12
0024:Ret wshom.ocx.DllGetClassObject() retval=00000000 ret=6839ec12
...
0024:Ret ole32.CoCreateInstance() retval=00000000 ret=660d9684
...
0024:fixme:wshom:WshShell3_QueryInterface Unknown iface
{7fd52380-4e07-101b-ae2d-08002b2ec713}
0024:fixme:wshom:WshShell3_QueryInterface Unknown iface
{37d84f60-42cb-11ce-8135-00aa004bb851}
0024:RET MSVBVM60.rtcCreateObject2(0032f870,00407040,00000000) retval=0032f870
ret=00413907
0024:CALL MSVBVM60.__vbaObjVar(<unknown, check return>) ret=00413911
0024:RET MSVBVM60.__vbaObjVar(0032f870) retval=51aa6a04 ret=00413911
0024:CALL MSVBVM60.__vbaObjSetAddref(0032f884,51aa6a04) ret=0041391e
0024:RET MSVBVM60.__vbaObjSetAddref() retval=51aa6a04 ret=0041391e
0024:CALL MSVBVM60.__vbaFreeVar() ret=00413929
0024:RET MSVBVM60.__vbaFreeVar() retval=00000002 ret=00413929
0024:CALL MSVBVM60.__vbaObjIs(<unknown, check return>) ret=00413934
0024:RET MSVBVM60.__vbaObjIs(51aa6a04,00000000) retval=00000000 ret=00413934
0024:CALL
MSVBVM60.__vbaLateMemCallLd(0032f870,51aa6a04,00407070,00000001,00000008,0032f868,00407060,00020020)
ret=0041396e
0024:fixme:wshom:WshShell3_GetIDsOfNames
({00000000-0000-0000-0000-000000000000} 0x32f80c 1 1033 0x32f810)
...
0024:Call KERNEL32.MultiByteToWideChar(00000000,00000000,00404b0c
"DVDGraph",ffffffff,0014c48c,00000009) ret=660da0db
0024:Ret KERNEL32.MultiByteToWideChar() retval=00000009 ret=660da0db
0024:Call KERNEL32.RaiseException(c000008f,00000001,00000002,0032f788)
ret=660d0956
0024:trace:seh:raise_exception code=c000008f flags=1 addr=0x7b838b5b
ip=7b838b5b tid=0024
0024:trace:seh:raise_exception info[0]=deadcafe
0024:trace:seh:raise_exception info[1]=deadcafe
0024:trace:seh:raise_exception eax=7b826171 ebx=7b8a97a8 ecx=deadcafe
edx=0032f6a4 esi=0032f788 edi=0032f700
0024:trace:seh:raise_exception ebp=0032f6e8 esp=0032f684 cs=0023 ds=002b
es=002b fs=0063 gs=006b flags=00000203
0024:trace:seh:call_vectored_handlers calling handler at 0x68aece0e
code=c000008f flags=1
0024:trace:seh:call_vectored_handlers handler at 0x68aece0e returned 0
0024:trace:seh:call_stack_handlers calling handler at 0x401576 code=c000008f
flags=1
0024:CALL MSVBVM60.__vbaExceptHandler(<unknown, check return>) ret=7bc7ac85
0024:Call KERNEL32.IsBadReadPtr(00401528,00000004) ret=660e3cfd
0024:Ret KERNEL32.IsBadReadPtr() retval=00000000 ret=660e3cfd
0024:RET MSVBVM60.__vbaExceptHandler() retval=00000001 ret=7bc7ac85
...
--- snip ---
The other problem is most likely related to special folders collection (app
tries to find "Desktop" object in returned IWshCollection).
That belongs to a separate bug.
$ sha1sum BurnPlot.exe
2f7c60de78ccf59409a365396e1d17cde5cae2ae BurnPlot.exe
$ wine --version
wine-1.3.35-43-gd9d4a06
Regards
--
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.
More information about the wine-bugs
mailing list