https://bugs.winehq.org/show_bug.cgi?id=12688
--- Comment #10 from Anastasius Focht focht@gmx.net --- Hello Dmitry,
--- quote --- typekind 5 is TKIND_COCLASS. It would be interesting to know whether the staging patch set https://github.com/wine-compholio/wine-staging/tree/master/patches/oleaut32-... could allow this go further. --- quote ---
well, not really.
--- snip --- 0027:trace:ole:ITypeInfo_fnInvoke (0x3463268)(0x27c0f70,id=341,flags=0x00000001,0x33f4b0,(nil),0x33f490,0x33f4c0) 0027:trace:ole:dump_DispParms args=1 named args=0 0027:trace:ole:dump_DispParms args: 0027:trace:ole:dump_DispParms [0] 0x33f4f4 {VT_DISPATCH: 0x2c26cf8} 0027:trace:ole:ITypeInfo_fnInvoke invoking: L"ApplyAll"(1) parm0: L"Tool" memid is 00000155 Param 0: tdesc.vartype 26 (ptr to VT_USERDEFINED ref = 1130) u.paramdesc.wParamFlags PARAMFLAG_FIN u.paramdesc.lpex (nil) funckind: 1 (pure virtual) invkind: 1 (func) callconv: 4 (stdcall) oVft: 336 cParamsOpt: 0 wFlags: 0 elemdescFunc (return value type): tdesc.vartype 25 (VT_HRESULT) u.paramdesc.wParamFlags PARAMFLAGS_NONE u.paramdesc.lpex (nil) helpstring: L"Apply this tool's properties to all tool with the same I Id" entry: invalid ... 0027:trace:ole:ITypeInfo_fnGetRefTypeInfo (0x3463268) hreftype 0x1130 loaded SUCCESS (0x346bc60) 0027:trace:ole:ITypeInfo_fnGetTypeAttr (0x346bc60) ... 0027:trace:ole:ITypeInfo_fnInvoke changing args 0027:trace:ole:ITypeInfo_fnInvoke 0x33f4f4 {VT_DISPATCH: 0x2c26cf8} ... 0027:trace:ole:ITypeInfo_fnGetRefTypeInfo (0x3463268) hreftype 0x1130 loaded SUCCESS (0x346bc60) 0027:trace:ole:ITypeInfo_fnGetTypeAttr (0x346bc60) ... 0027:trace:ole:ITypeInfo_fnGetImplTypeFlags (0x346bc60) index 0 ... 0027:trace:ole:ITypeInfo_fnInvoke -- 0x8000ffff 0027:trace:ole:ITypeInfo_fnRelease (0x3463268)->(1) ... 0027:Call KERNEL32.RaiseException(c000008f,00000001,00000002,0033f404) ret=660d0956 0027:trace:seh:raise_exception code=c000008f flags=1 addr=0x7b844525 ip=7b844525 tid=0027 0027:trace:seh:raise_exception info[0]=deadcafe 0027:trace:seh:raise_exception info[1]=deadcafe 0027:trace:seh:raise_exception eax=7b833229 ebx=0013c108 ecx=00000008 edx=0033f364 esi=0033f404 edi=0033f3d0 0027:trace:seh:raise_exception ebp=0033f3a8 esp=0033f344 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00200216 0027:trace:seh:call_stack_handlers calling handler at 0x405606 code=c000008f flags=1 --- snip ---
https://github.com/wine-compholio/wine-staging/blob/master/patches/oleaut32-...
--- snip --- Wine-dbg>p *This->pTypeLib
{ITypeLib2_iface={lpVtbl=0x7e804b20}, ITypeComp_iface={lpVtbl=0x7e804b64}, ICreateTypeLib2_iface={lpVtbl=0x7e804b80}, ref=0x1, guid=0x33a0228, lcid=0x409, syskind=SYS_WIN32, ptr_size=0x4, ver_major=0x3, ver_minor=0, libflags=0x8, set_lcid=0, string_list={next=0x338f0e0, prev=0x33a00a8}, name_list={next=0x3392ed0, prev=0x338f0a0}, guid_list={next=0x33a0240, prev=0x33a0dc8}, Name=0x3392ec8, DocString=0x338f128, HelpFile=0x338f0d8, HelpStringDll=(nil), dwHelpContext=0, TypeInfoCount=0x43, typeinfos=0x33a1918, custdata_list={next=0x33a0e18, prev=0x33a0df0}, implib_list={next=0x33a1418, prev=0x33a1418}, ctTypeDesc=0xba, pTypeDesc=0x33a0e28, ref_list={next=0x33a147c, prev=0x33a1904}, dispatch_href=0x19, entry={next=0x3380664, prev=0x33bdc9c}, path="C:\windows\system32\Actbar3.ocx", index=0x1}
Wine-dbg>bt
Backtrace: =>0 0x7e76cb07 ITypeInfo_fnGetImplTypeFlags(iface=0x33b0768, index=0, pImplTypeFlags=0x33f068) [/home/focht/projects/wine/wine.repo/staging-src/dlls/oleaut32/typelib.c:6278] in oleaut32 (0x0033f0c8) 1 0x7e76ebda ITypeInfo_fnInvoke+0xe0c(iface=<couldn't compute location>, pIUnk=<couldn't compute location>, memid=<couldn't compute location>, wFlags=0x1, pDispParams=<couldn't compute location>, pVarResult=<couldn't compute location>, pExcepInfo=<couldn't compute location>, pArgErr=<couldn't compute location>) [/home/focht/projects/wine/wine.repo/staging-src/dlls/oleaut32/typelib.c:7205] in oleaut32 (0x0033f398) 2 0x3505bad2 in actbar3 (+0x5bad1) (0x0033f3d0) 3 0x660697c8 in msvbvm60 (+0x697c7) (0x0033f40c) 4 0x660d8e24 in msvbvm60 (+0xd8e23) (0x0033f460) 5 0x66107986 in msvbvm60 (+0x107985) (0x0033f4c4) 6 0x66108bce in msvbvm60 (+0x108bcd) (0x0033f5b4) 7 0x006a235b in visilogic (+0x2a235a) (0x0033f754) 8 0x0063fddd in visilogic (+0x23fddc) (0x0033f8e0) ...
Wine-dbg>s 6675 type_flags == (IMPLTYPEFLAG_FSOURCE|IMPLTYPEFLAG_FDEFAULT)) break;
Wine-dbg>s 6674 if(SUCCEEDED(ITypeInfo_GetImplTypeFlags(tinfo2, i, &type_flags)) &&
Wine-dbg>s 6673 for(i = 0; i < tattr->cImplTypes; i++)
Wine-dbg>s 6673 for(i = 0; i < tattr->cImplTypes; i++)
Wine-dbg>s 6677 if(i < tattr->cImplTypes) {
Wine-dbg>s 6680 } else hres = E_UNEXPECTED;
Wine-dbg>s 6681 break;
Wine-dbg>p hres 0x8000ffff
Wine-dbg>p *tattr {guid={Data1=0x1d34dfe8, Data2=0x421b, Data3=0x455b, Data4="????"}, lcid=0, dwReserved=0x17e, memidConstructor=0xffffffff, memidDestructor=0xffffffff, lpstrSchema=0x0(nil), cbSizeInstance=0x4, typekind=TKIND_COCLASS, cFuncs=0, cVars=0, cImplTypes=0x1, cbSizeVft=0, cbAlignment=0x4, wTypeFlags=0x2, wMajorVerNum=0x3, wMinorVerNum=0, tdescAlias={u={lptdesc=(nil), lpadesc=(nil), hreftype=0}, vt=0}, idldescType={dwReserved=0, wIDLFlags=0}}
Wine-dbg>p i 0x1 --- snip ---
Regards