Re: marshall interface needed?
"George" <George@discussions.microsoft.com> wrote in message
news:FD3E558B-D514-4A72-9B30-C3C5BD9F83F0@microsoft.com
The question I asked is from the reentrancy issue. From the code I
quoted below, STA will call MTA component from interface pDummy
directly (so, once I thought if the callee MTA, no need to call
either GIT (global interface table) or
CoMarshalInterThreadInterfaceInStream).
CoCreateInstance will automatically do marshalling for you if you try to
create a component on a thread not suitable for this component.
In the example, if I recall correctly, an MTA thread tries to create a
component that's registered as apartment-threaded. In this case, COM
creates a new thread, has it initialize STA, creates a component on that
thread, and marshals its interface pointer back to the calling MTA
thread. At the end of the day, the MTA thread gets a properly marshalled
proxy.
--
With best wishes,
Igor Tandetnik
With sufficient thrust, pigs fly just fine. However, this is not
necessarily a good idea. It is hard to be sure where they are going to
land, and it could be dangerous sitting under them as they fly
overhead. -- RFC 1925