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