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