On January 11, 2005 08:02 am, Bill Medland wrote:
Any idea what is going wrong in the OXID handling here?
See below for theory
Is "a" the first thread of the new process? Is the problem that it should be "b"?
(I've removed a few extraneous traces) (This is after the COM_CreateApartment fixes patch)
0009:trace:ole:create_marshalled_proxy rclsid={4dfceca2-156a-4e02-9d02-2e5253ad1d01}, iid={00000001-0000-0000-c000-000000000046} 0009:trace:ole:create_marshalled_proxy waiting for \.\pipe{4DFCECA2-156A-4E02-9D02-2E5253AD1D01} 0009:trace:ole:create_server activating local server 'L"G:\runtime\a4wlpmgr.exe -Embedding"' for {4DFCECA2-156A-4E02-9D02-2E5253AD1D01} 0009:trace:ole:create_marshalled_proxy waiting for \.\pipe{4DFCECA2-156A-4E02-9D02-2E5253AD1D01} 0009:warn:ole:create_marshalled_proxy Could not open named pipe to broker \.\pipe{4DFCECA2-156A-4E02-9D02-2E5253AD1D01}, le is 2
000b:trace:ole:DllMain 0x540000 0x1 0x1
0009:trace:ole:create_marshalled_proxy waiting for \.\pipe{4DFCECA2-156A-4E02-9D02-2E5253AD1D01} 0009:warn:ole:create_marshalled_proxy Could not open named pipe to broker \.\pipe{4DFCECA2-156A-4E02-9D02-2E5253AD1D01}, le is 2 000b:trace:ole:CoInitializeEx ((nil), 0) 000b:trace:ole:CoInitializeEx () - Initializing the COM libraries 000b:trace:ole:RunningObjectTableImpl_Initialize () 000b:trace:ole:COM_CreateApartment thread 0xb is entering the multithreaded apartment 000b:trace:ole:CoRegisterClassObject ({4dfceca2-156a-4e02-9d02-2e5253ad1d01},0x405701a0,0x00000004,0x00000005,0x 412054) 000b:trace:ole:CoMarshalInterface (0x4006b7a0, {00000001-0000-0000-c000-000000000046}, 0x405701a0, 0, (nil), 1) 000b:trace:ole:CoGetStandardMarshal ({00000001-0000-0000-c000-000000000046},0x405701a0,0,(nil),1,0x51fd84) 000b:trace:ole:CoMarshalInterface Using standard marshaling 000b:trace:ole:CoMarshalInterface Calling IMarshal::MarshalInterace 000b:trace:ole:StdMarshalImpl_MarshalInterface (...,{00000001-0000-0000-c000-000000000046},...) 000b:trace:ole:start_apartment_listener_thread apt->listenertid=0 000d:trace:ole:apartment_listener_thread Apartment listener thread starting on (\.\pipe\WINE_OLE_StubMgr_0000000a00000000) 000b:trace:ole:CoGetPSClsid () riid={00000001-0000-0000-c000-000000000046}, pclsid=0x51fd18 000b:trace:ole:CoGetPSClsid () Returning CLSID={00000320-0000-0000-c000-000000000046} 000b:trace:ole:CoGetClassObject CLSID: {00000320-0000-0000-c000-000000000046}, IID: {d5f569d0-593b-101a-b569-08002b2dbf7a} 000b:trace:ole:COMPOBJ_DLLList_Add 000b:trace:ole:PSFacBuf_CreateStub ({00000001-0000-0000-c000-000000000046},0x405701a0,0x51fd10) 000b:fixme:ole:StdMarshalImpl_MarshalInterface table marshalling unimplemented 000b:warn:ole:get_stub_manager_from_object Could not map OXID a00000000 to apartment object 000b:trace:ole:register_ifstub constructing new stub manager 000b:warn:ole:register_ifstub Could not map OXID a00000000 to apartment object
in COM_CreateApartment (Yes, that new area of code we are now executing!!!): When we enter that apartment presumably we should be altering some of the MTA's properties like the tid and oxid.
Is there a function for it already? Or else, what locks the MTA?