Remove typelib ProxyStubClsid registration when no oleautomation interface is being registered

Jeroen Janssen japj at xs4all.nl
Sun Aug 1 13:29:52 CDT 2004


Marcus Meissner wrote:

>>As far as I see it I have two options (to run this outprocess 
>>client/server program):
>>1) use the available proxy/stub code (which is what I assume Windows 
>>does?) However since some of the rpcrt4 stub/proxy handling in wine is 
>>not finished yet, this probably won't work always (and it doesn't yet 
>>for me for this application). And indeed I don't really know if this 
>>also affects for example InstallShield behaviour.
>>
>>2) use the typelib marshaller if a typelib is registered (even though a 
>>proxy/stub is available). This is the current wine codepath, but it also 
>>does not work for me since I get some VT_USERDEFINED errors. But that 
>>started me wondering why the 'real' proxy/stub code is not used. Since 
>>some of the rpcrt4 code path seems to work with marshalling, I came up 
>>with this patch.
>>    
>>
>
>What VT_USERDEFINED errors?
>  
>
Well, the last part of the server trace logging is:

trace:ole:LoadTypeLibEx  returns 00000000
trace:ole:LoadRegTypeLib (IID: {00020430-0000-0000-c000-000000000046}) 
load SUCCESS (0x42626760)
trace:ole:ITypeLib2_fnAddRef (0x42626760)->ref was 1
trace:ole:ITypeLib2_fnGetTypeInfoOfGuid (0x42626760)
    guid:    {3599b012-1f4b-11d4-9463-000629d00584})
trace:ole:ITypeLib2_fnGetTypeInfoOfGuid -- element not found
trace:ole:ITypeLib2_fnRelease (0x42626760)->(1)
trace:ole:ITypeInfo_fnGetRefTypeInfo (0x426252c8) hreftype 0x000d loaded 
FAILURE (0x42e07fd8)
fixme:ole:deserialize_param Could not get typeinfo of hreftype d for 
VT_USERDEFINED.
fixme:ole:TMStubImpl_Invoke Failed to deserialize param pObjectType, 
hres 8002802b
trace:ole:_invoke Calling 0x672d3b80(40d55520,40320060,)
fixme:ole:_xread Read only 0 of 4 bytes from 0xd0.
fixme:ole:_StubReaderThread Failed with hres 80004005

And the last part of the client trace logs contains something similar:
trace:ole:LoadTypeLibEx  returns 00000000
trace:ole:LoadRegTypeLib (IID: {00020430-0000-0000-c000-000000000046}) 
load SUCCESS (0x40371928)
trace:ole:ITypeLib2_fnAddRef (0x40371928)->ref was 1
trace:ole:ITypeLib2_fnGetTypeInfoOfGuid (0x40371928)
    guid:    {3599b012-1f4b-11d4-9463-000629d00584})
trace:ole:ITypeLib2_fnGetTypeInfoOfGuid -- element not found
trace:ole:ITypeLib2_fnRelease (0x40371928)->(1)
trace:ole:ITypeInfo_fnGetRefTypeInfo (0x403702e0) hreftype 0x000d loaded 
FAILURE (0x403718d0)
fixme:ole:serialize_param Could not get typeinfo of hreftype d for 
VT_USERDEFINED.
fixme:ole:xCall Failed to serialize param, hres 8002802b
trace:ole:PipeBuf_GetBuffer 
(0x4069fb60,{11ef83d1-553a-11d3-bb12-0004ac9658d6}), slightly wrong.
trace:ole:PipeBuf_SendReceive ()
trace:ole:deserialize_param vt 26 at 0x4069fbe4
fixme:ole:deserialize_param Failed to load pointer cookie.
fixme:ole:xCall Failed to unmarshall param, hres 80004005

How can I find out what is wrong here?
---
Jeroen




More information about the wine-devel mailing list