So, my next problem
What's the status of custom marshaling, especially out-of-process? Is it supposed to be quite well developed (in which case I am trying to find out why our case is different) or is it still only just started?
Bill Medland wrote:
So, my next problem
What's the status of custom marshaling, especially out-of-process? Is it supposed to be quite well developed (in which case I am trying to find out why our case is different) or is it still only just started?
Yes, custom marshaling should work. Out-of-process COM should also work, as there are a number of programs that rely on it, including InstallShield and embedding in Word. It is also quite well developed and very simple.
If you have a specific question or debug logs I might be able to help you more.
On May 4, 2006 04:14 am, Robert Shearman wrote:
Bill Medland wrote:
So, my next problem
What's the status of custom marshaling, especially out-of-process? Is it supposed to be quite well developed (in which case I am trying to find out why our case is different) or is it still only just started?
Yes, custom marshaling should work. Out-of-process COM should also work, as there are a number of programs that rely on it, including InstallShield and embedding in Word. It is also quite well developed and very simple.
If you have a specific question or debug logs I might be able to help you more.
Yep
Here's the trace ------- trace:ole:_marshal_interface ...{b3b13603-a675-11d2-9b95-00104b71eb3f}... trace:ole:CoMarshalInterface (0x798f1940, {b3b13603-a675-11d2-9b95-00104b71eb3f}, 0x79e309ec, 0, (nil), MSHLFLAGS_NORMAL) trace:ole:IiFTMUnknown_fnQueryInterface trace:ole:FTMarshalImpl_AddRef fixme:ole:FTMarshalImpl_GetUnmarshalClass (), stub! trace:ole:CoMarshalInterface Using custom marshaling fixme:ole:FTMarshalImpl_GetMarshalSizeMax (), stub! trace:ole:CoGetStandardMarshal ({b3b13603-a675-11d2-9b95-00104b71eb3f},0x79e309ec,0,(nil),0,0x650de6b8) trace:ole:CoMarshalInterface Calling IMarshal::MarshalInterace fixme:ole:FTMarshalImpl_MarshalInterface (), stub! trace:ole:CoGetStandardMarshal ({b3b13603-a675-11d2-9b95-00104b71eb3f},0x79e309ec,0,(nil),0,0x650de6b8) trace:ole:StdMarshalImpl_MarshalInterface (...,{b3b13603-a675-11d2-9b95-00104b71eb3f},...) trace:ole:CoGetPSClsid () riid={b3b13603-a675-11d2-9b95-00104b71eb3f}, pclsid=0x650de5e0 trace:ole:WINE_StringFromCLSID 0x798f18e8->{B3B13603-A675-11D2-9B95-00104B71EB3F} trace:ole:__CLSIDFromString L"{B3B13603-A675-11D2-9B95-00104B71EB3F}" -> 0x650de5e0 trace:ole:CoGetPSClsid () Returning CLSID={b3b13603-a675-11d2-9b95-00104b71eb3f} trace:ole:CoGetClassObject CLSID: {b3b13603-a675-11d2-9b95-00104b71eb3f}, IID: {d5f569d0-593b-101a-b569-08002b2dbf7a} trace:ole:WINE_StringFromCLSID 0x650de5e0->{B3B13603-A675-11D2-9B95-00104B71EB3F} trace:ole:COMPOBJ_DLLList_Add trace:ole:NdrDllGetClassObject ({b3b13603-a675-11d2-9b95-00104b71eb3f}, {d5f569d0-593b-101a-b569-08002b2dbf7a}, 0x650de5d8, 0x6e4272e8, {b3b13603-a675-11d2-9b95-00104b71eb3f}, 0x6e42b138) trace:ole:CStdPSFactory_QueryInterface (0x6e42b138)->QueryInterface({d5f569d0-593b-101a-b569-08002b2dbf7a},0x650de5d8) trace:ole:CStdPSFactory_CreateStub (0x6e42b138)->CreateStub({b3b13603-a675-11d2-9b95-00104b71eb3f},0x79e309ec,0x650de5d4) trace:ole:FindProxyInfo found: ProxyInfo 0x6e41eeb0 Index 0 trace:ole:CStdStubBuffer_Construct (0x79e309ec,0x6e4277c8,0x6e42b138,0x650de5d4) IAccpacSession trace:ole:CStdStubBuffer_Construct iid={b3b13603-a675-11d2-9b95-00104b71eb3f} trace:ole:CStdStubBuffer_Construct vtbl=0x6e4277d8 trace:ole:CStdPSFactory_AddRef (0x6e42b138)->AddRef() trace:ole:CStdPSFactory_Release (0x6e42b138)->Release() trace:ole:get_stub_manager_from_object not found for object 0x79e309ec trace:ole:marshal_object constructing new stub manager trace:ole:new_stub_manager Created new stub manager (oid=4) at 0x798f1a10 for object with IUnknown 0x79e309ec trace:ole:stub_manager_new_ifstub oid=4, stubbuffer=0x798f19f0, iptr=0x79e309ec, iid={b3b13603-a675-11d2-9b95-00104b71eb3f} trace:ole:CStdStubBuffer_AddRef (0x798f19f0)->AddRef() trace:ole:stub_manager_new_ifstub ifstub 0x798f1a88 created with ipid {00000003-0009-0008-c687-00123f5e59c0} fixme:ole:NdrCStdStubBuffer2_Release Not implemented trace:ole:stub_manager_ext_addref added 5 refs to 0x798f1a10 (oid 4), rc is now 5 trace:ole:RPC_RegisterInterface ({b3b13603-a675-11d2-9b95-00104b71eb3f}) trace:ole:RPC_RegisterInterface Creating new interface trace:ole:stub_manager_int_release after 1 trace:ole:FTMarshalImpl_Release trace:ole:CoMarshalInterface completed with hr 0x00000000 trace:ole:ITypeInfo_fnRelease (0x7a0e6360)->(1) trace:ole:ITypeLib2_fnRelease (0x7a0e44d0)->(2) trace:ole:serialize_param (tdesc.vt VT_PTR) trace:ole:serialize_param (tdesc.vt VT_I4) trace:ole:ClientRpcChannelBuffer_GetBuffer (0x7989f660)->(0x650de9e0,{b6b35893-dd6f-11d3-84ac-00c04f0e1b46}) trace:ole:ClientRpcChannelBuffer_GetBuffer -- 0 trace:ole:ClientRpcChannelBuffer_SendReceive (0x650de9e0) iMethod=16 trace:ole:ipid_to_stub_manager Couldn't find apartment corresponding to TID 0x0010 trace:ole:DllMain 0x950000 0x2 (nil) trace:ole:dispatch_rpc ipid = {00000002-0010-000f-c687-00123f5e59c0}, iMethod = 16 trace:ole:apartment_addref f00000010: before = 1 trace:ole:stub_manager_int_addref before 1 trace:ole:get_stub_manager_from_ipid found 0x7be8bd28 for ipid {00000002-0010-000f-c687-00123f5e59c0} trace:ole:TMStubImpl_AddRef (0x7be8bcf8)->(ref before=1) trace:ole:stub_manager_int_release after 1 trace:ole:dispatch_rpc Calling apartment thread 0x00000010... trace:ole:TMStubImpl_Invoke ... trace:ole:ITypeLib2_fnAddRef (0x7be88ad8)->ref was 2 trace:ole:ITypeInfo_fnAddRef (0x7be88d80)->ref is 3 trace:ole:ITypeInfo_fnGetDocumentation (0x7be88d80) memid -1 Name(0x7bbafc10) DocString((nil)) HelpContext((nil)) HelpFile((nil)) trace:ole:ITypeInfo_fnGetNames (0x7be88d80) memid=0x0000000a Maxname=10 trace:ole:deserialize_param vt VT_PTR at 0x7be8c794 trace:ole:ITypeInfo_fnGetRefTypeInfo typeinfo in imported typelib that isn't already loaded trace:ole:WINE_StringFromCLSID 0x7be88d2c->{4E5368A1-A652-11D2-9B94-00104B71EB3F} trace:ole:LoadTypeLib (L"G:\runtime\A4WCOMEx.dll",0x7bbafb28) trace:ole:LoadTypeLibEx (L"G:\runtime\A4WCOMEx.dll",0,0x7bbafb28) trace:ole:ITypeLib2_Constructor_MSFT 0x7c4dd780, TLB length = 112684 trace:ole:ITypeLib2_Constructor_MSFT read segment directory (at 448) trace:ole:ITypeInfo_Constructor (0x7be8cee0) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7be8d1e8) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7be8d4f8) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7be8e4e8) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7be8e6a8) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:MSFT_DoRefType importing by guid {00020400-0000-0000-c000-000000000046} trace:ole:ITypeInfo_Constructor (0x7bea2028) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bea2290) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bea2618) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:MSFT_DoRefType importing by guid {00020400-0000-0000-c000-000000000046} trace:ole:ITypeInfo_Constructor (0x7bea6e00) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:MSFT_DoRefType importing by guid {00020400-0000-0000-c000-000000000046} trace:ole:ITypeInfo_Constructor (0x7beb5398) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7beb56c0) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7beb5b70) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:MSFT_DoRefType importing by guid {00020400-0000-0000-c000-000000000046} trace:ole:ITypeInfo_Constructor (0x7beb61e0) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:MSFT_DoRefType importing by guid {00020400-0000-0000-c000-000000000046} trace:ole:ITypeInfo_Constructor (0x7beb6e90) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:MSFT_DoRefType importing by guid {00020400-0000-0000-c000-000000000046} trace:ole:ITypeInfo_Constructor (0x7beb9920) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7beba040) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7beba6e8) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bebaa68) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:MSFT_DoRefType importing by guid {00020400-0000-0000-c000-000000000046} trace:ole:ITypeInfo_Constructor (0x7bebbe20) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:MSFT_DoRefType importing by guid {00020400-0000-0000-c000-000000000046} trace:ole:ITypeInfo_Constructor (0x7bebc3f0) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:MSFT_DoRefType importing by guid {00020400-0000-0000-c000-000000000046} trace:ole:ITypeInfo_Constructor (0x7bebcf20) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bebd6a0) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bebd870) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bec0438) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bec07a8) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bec0a60) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bec0de8) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bec2060) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:MSFT_DoRefType importing by guid {00020400-0000-0000-c000-000000000046} trace:ole:ITypeInfo_Constructor (0x7bec2790) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:MSFT_DoRefType importing by guid {00020400-0000-0000-c000-000000000046} trace:ole:ITypeInfo_Constructor (0x7bec3520) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:MSFT_DoRefType importing by guid {00020400-0000-0000-c000-000000000046} trace:ole:ITypeInfo_Constructor (0x7bec6f00) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bec72a8) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bec7670) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bec7a48) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:MSFT_DoRefType importing by guid {00020400-0000-0000-c000-000000000046} trace:ole:ITypeInfo_Constructor (0x7becbe80) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7becc188) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:MSFT_DoRefType importing by guid {00020400-0000-0000-c000-000000000046} trace:ole:ITypeInfo_Constructor (0x7becf950) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:MSFT_DoRefType importing by guid {00020400-0000-0000-c000-000000000046} trace:ole:ITypeInfo_Constructor (0x7bed1480) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bed1900) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:MSFT_DoRefType importing by guid {00020400-0000-0000-c000-000000000046} trace:ole:ITypeInfo_Constructor (0x7bed2968) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:MSFT_DoRefType importing by guid {00020400-0000-0000-c000-000000000046} trace:ole:ITypeInfo_Constructor (0x7bed3700) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bed3a00) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:MSFT_DoRefType importing by guid {00020400-0000-0000-c000-000000000046} trace:ole:ITypeInfo_Constructor (0x7bed5a68) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bed5cb8) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:MSFT_DoRefType importing by guid {00020400-0000-0000-c000-000000000046} trace:ole:ITypeInfo_Constructor (0x7bed9b60) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7beda160) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:MSFT_DoRefType importing by guid {00020400-0000-0000-c000-000000000046} trace:ole:ITypeInfo_Constructor (0x7bedc538) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bedc798) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bedca70) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bedccd0) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bedcf18) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:MSFT_DoRefType importing by guid {00020400-0000-0000-c000-000000000046} trace:ole:ITypeInfo_Constructor (0x7bede8b0) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bedece0) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bedeff8) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bedf2a8) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:MSFT_DoRefType importing by guid {00020400-0000-0000-c000-000000000046} trace:ole:ITypeInfo_Constructor (0x7bee0270) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bee0540) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bee07a8) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:MSFT_DoRefType importing by guid {00020400-0000-0000-c000-000000000046} trace:ole:ITypeInfo_Constructor (0x7bee1158) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bee1638) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bee1a70) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bee1d48) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:MSFT_DoRefType importing by guid {00020400-0000-0000-c000-000000000046} trace:ole:ITypeInfo_Constructor (0x7bee2d00) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:MSFT_DoRefType importing by guid {00020400-0000-0000-c000-000000000046} trace:ole:ITypeInfo_Constructor (0x7bee4b10) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bee4e50) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bee5180) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bee53c8) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bee5580) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:MSFT_DoRefType importing by guid {00020400-0000-0000-c000-000000000046} trace:ole:ITypeInfo_Constructor (0x7bee60f0) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bee6268) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bee6468) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bee66a8) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bee6828) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bee69d8) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bee6b98) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bee6d10) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bee6eb0) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bee70d8) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bee7278) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bee7428) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bee7648) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bee77f8) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bee7990) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bee7b78) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bee7d18) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bee7ee0) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bee8078) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bee8248) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bee8400) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bee8608) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeInfo_Constructor (0x7bee8800) warn:ole:MSFT_DoTypeInfo Assign constructor/destructor memid trace:ole:ITypeLib2_Constructor_MSFT (0x7be8c7e8) trace:ole:TLB_ReadTypeLib adding to cache trace:ole:LoadTypeLibEx returns 00000000 trace:ole:LoadRegTypeLib (IID: {4e5368a1-a652-11d2-9b94-00104b71eb3f}) load SUCCESS (0x7be8c7e8) trace:ole:ITypeLib2_fnAddRef (0x7be8c7e8)->ref was 1 trace:ole:ITypeLib2_fnGetTypeInfoOfGuid (0x7be8c7e8) guid: {b3b13603-a675-11d2-9b95-00104b71eb3f}) trace:ole:ITypeLib2_fnGetTypeInfoOfGuid -- found (0x7be8e6a8, L"IAccpacSession") trace:ole:ITypeLib2_fnAddRef (0x7be8c7e8)->ref was 2 trace:ole:ITypeInfo_fnAddRef (0x7be8e6a8)->ref is 2 trace:ole:ITypeLib2_fnRelease (0x7be8c7e8)->(2) trace:ole:ITypeInfo_fnGetRefTypeInfo (0x7be88d80) hreftype 0x000d loaded SUCCESS (0x7be8e6a8) trace:ole:ITypeInfo_fnGetTypeAttr (0x7be8e6a8) trace:ole:ITypeInfo_fnRelease (0x7be8e6a8)->(1) trace:ole:ITypeLib2_fnRelease (0x7be8c7e8)->(1) trace:ole:deserialize_param vt VT_USERDEFINED at 0x7be8c794 trace:ole:ITypeInfo_fnGetRefTypeInfo typeinfo in imported typelib that is already loaded trace:ole:ITypeLib2_fnAddRef (0x7be8c7e8)->ref was 1 trace:ole:ITypeLib2_fnGetTypeInfoOfGuid (0x7be8c7e8) guid: {b3b13603-a675-11d2-9b95-00104b71eb3f}) trace:ole:ITypeLib2_fnGetTypeInfoOfGuid -- found (0x7be8e6a8, L"IAccpacSession") trace:ole:ITypeLib2_fnAddRef (0x7be8c7e8)->ref was 2 trace:ole:ITypeInfo_fnAddRef (0x7be8e6a8)->ref is 2 trace:ole:ITypeLib2_fnRelease (0x7be8c7e8)->(2) trace:ole:ITypeInfo_fnGetRefTypeInfo (0x7be88d80) hreftype 0x000d loaded SUCCESS (0x7be8e6a8) trace:ole:ITypeInfo_fnGetTypeAttr (0x7be8e6a8) trace:ole:_unmarshal_interface ...{b3b13603-a675-11d2-9b95-00104b71eb3f}... trace:ole:CoUnmarshalInterface (0x7be8c7a8, {b3b13603-a675-11d2-9b95-00104b71eb3f}, 0x7be8c794) trace:ole:get_unmarshaler_from_stream Using custom unmarshaling trace:ole:CoCreateInstance (rclsid={62a1cafb-1940-798f-6859-a5623c7ba562}, pUnkOuter=(nil), dwClsContext=00000001, riid={00000003-0000-0000-c000-000000000046}, ppv=0x7bbafa30) trace:ole:CoGetClassObject CLSID: {62a1cafb-1940-798f-6859-a5623c7ba562}, IID: {00000001-0000-0000-c000-000000000046} trace:ole:WINE_StringFromCLSID 0x7bbaf99c->{62A1CAFB-1940-798F-6859-A5623C7BA562} err:ole:CoGetClassObject class {62a1cafb-1940-798f-6859-a5623c7ba562} not registered err:ole:CoGetClassObject no class object {62a1cafb-1940-798f-6859-a5623c7ba562} could be created for for context 0x1 fixme:ole:CoCreateInstance no classfactory created for CLSID {62a1cafb-1940-798f-6859-a5623c7ba562}, hres is 0x80040154 err:ole:get_unmarshaler_from_stream Failed to create marshal, 0x80040154 err:ole:_unmarshal_interface Unmarshalling interface {b3b13603-a675-11d2-9b95-00104b71eb3f} failed with 80040154 err:ole:deserialize_param failed to stuballoc in TKIND_RECORD. trace:ole:ITypeInfo_fnRelease (0x7be8e6a8)->(1) trace:ole:ITypeLib2_fnRelease (0x7be8c7e8)->(1) err:ole:TMStubImpl_Invoke Failed to deserialize param pSession, hres 80040154 ----
The CLSID 62a1... changes on each invocation The comments about stubs in the marshaling suggest to me that the clsid being passed would be random
Anything obvious?
Bill Medland wrote:
trace:ole:CoUnmarshalInterface (0x7be8c7a8, {b3b13603-a675-11d2-9b95-00104b71eb3f}, 0x7be8c794) trace:ole:get_unmarshaler_from_stream Using custom unmarshaling trace:ole:CoCreateInstance (rclsid={62a1cafb-1940-798f-6859-a5623c7ba562}, pUnkOuter=(nil), dwClsContext=00000001, riid={00000003-0000-0000-c000-000000000046}, ppv=0x7bbafa30) trace:ole:CoGetClassObject CLSID: {62a1cafb-1940-798f-6859-a5623c7ba562}, IID: {00000001-0000-0000-c000-000000000046} trace:ole:WINE_StringFromCLSID 0x7bbaf99c->{62A1CAFB-1940-798F-6859-A5623C7BA562} err:ole:CoGetClassObject class {62a1cafb-1940-798f-6859-a5623c7ba562} not registered err:ole:CoGetClassObject no class object {62a1cafb-1940-798f-6859-a5623c7ba562} could be created for for context 0x1 fixme:ole:CoCreateInstance no classfactory created for CLSID {62a1cafb-1940-798f-6859-a5623c7ba562}, hres is 0x80040154 err:ole:get_unmarshaler_from_stream Failed to create marshal, 0x80040154 err:ole:_unmarshal_interface Unmarshalling interface {b3b13603-a675-11d2-9b95-00104b71eb3f} failed with 80040154 err:ole:deserialize_param failed to stuballoc in TKIND_RECORD. trace:ole:ITypeInfo_fnRelease (0x7be8e6a8)->(1) trace:ole:ITypeLib2_fnRelease (0x7be8c7e8)->(1) err:ole:TMStubImpl_Invoke Failed to deserialize param pSession, hres 80040154
The CLSID 62a1... changes on each invocation The comments about stubs in the marshaling suggest to me that the clsid being passed would be random
Anything obvious?
Can you see what is under HKCR\Interface{b3b13603-a675-11d2-9b95-00104b71eb3f}\ProxyStubClsid32 in your registry?
On May 4, 2006 07:19 am, Robert Shearman wrote:
Bill Medland wrote:
trace:ole:CoUnmarshalInterface (0x7be8c7a8, {b3b13603-a675-11d2-9b95-00104b71eb3f}, 0x7be8c794) trace:ole:get_unmarshaler_from_stream Using custom unmarshaling trace:ole:CoCreateInstance (rclsid={62a1cafb-1940-798f-6859-a5623c7ba562}, pUnkOuter=(nil), dwClsContext=00000001, riid={00000003-0000-0000-c000-000000000046}, ppv=0x7bbafa30) trace:ole:CoGetClassObject CLSID: {62a1cafb-1940-798f-6859-a5623c7ba562}, IID: {00000001-0000-0000-c000-000000000046} trace:ole:WINE_StringFromCLSID 0x7bbaf99c->{62A1CAFB-1940-798F-6859-A5623C7BA562} err:ole:CoGetClassObject class {62a1cafb-1940-798f-6859-a5623c7ba562} not registered err:ole:CoGetClassObject no class object {62a1cafb-1940-798f-6859-a5623c7ba562} could be created for for context 0x1 fixme:ole:CoCreateInstance no classfactory created for CLSID {62a1cafb-1940-798f-6859-a5623c7ba562}, hres is 0x80040154 err:ole:get_unmarshaler_from_stream Failed to create marshal, 0x80040154 err:ole:_unmarshal_interface Unmarshalling interface {b3b13603-a675-11d2-9b95-00104b71eb3f} failed with 80040154 err:ole:deserialize_param failed to stuballoc in TKIND_RECORD. trace:ole:ITypeInfo_fnRelease (0x7be8e6a8)->(1) trace:ole:ITypeLib2_fnRelease (0x7be8c7e8)->(1) err:ole:TMStubImpl_Invoke Failed to deserialize param pSession, hres 80040154 ----
The CLSID 62a1... changes on each invocation The comments about stubs in the marshaling suggest to me that the clsid being passed would be random
Anything obvious?
Can you see what is under HKCR\Interface{b3b13603-a675-11d2-9b95-00104b71eb3f}\ProxyStu bClsid32 in your registry?
Itself.
[Software\Classes\Interface\{B3B13603-A675-11D2-9B95-00104B71EB3F}] 1146257301 @="IAccpacSession"
[Software\Classes\Interface\{B3B13603-A675-11D2-9B95-00104B71EB3F}\NumMethods] 1146257301 @="119"
[Software\Classes\Interface\{B3B13603-A675-11D2-9B95-00104B71EB3F}\ProxyStubClsid] 1146257301 @="{00020424-0000-0000-C000-000000000046}"
[Software\Classes\Interface\{B3B13603-A675-11D2-9B95-00104B71EB3F}\ProxyStubClsid32] 1146257301 @="{B3B13603-A675-11D2-9B95-00104B71EB3F}"
[Software\Classes\Interface\{B3B13603-A675-11D2-9B95-00104B71EB3F}\TypeLib] 1146257301 @="{4E5368A1-A652-11D2-9B94-00104B71EB3F}" "Version"="1.0"
Bill Medland wrote:
trace:ole:_marshal_interface ...{b3b13603-a675-11d2-9b95-00104b71eb3f}... trace:ole:CoMarshalInterface (0x798f1940, {b3b13603-a675-11d2-9b95-00104b71eb3f}, 0x79e309ec, 0, (nil), MSHLFLAGS_NORMAL) trace:ole:IiFTMUnknown_fnQueryInterface trace:ole:FTMarshalImpl_AddRef fixme:ole:FTMarshalImpl_GetUnmarshalClass (), stub!
Actually, this is the bug. This function doesn't fill in the CLSID properly. Also, UnmarshalInterface is unimplemented for the free-threaded marshaler. The free-threaded marshaler could really do with having some test-cases in the test suite.