marshall interface needed?



Hello everyone,


When we have cross-apartment call (inside one process) from ... to ...,

1. STA --> MTA;
2. MTA --> STA.

In both cases we must use either GIT (global interface table) or
CoMarshalInterThreadInterfaceInStream?

If call method on destination apartment through interface pointer of
component of destination apartment directly is violation (bypass the above
two methods)?

(for example, sharing raw interface pointer directly in global variable and
call methods on interface pointer directly)


thanks in advance,
George
.



Relevant Pages

  • Re: How to marshal code to the original thread
    ... you need to pass that to your .NET code. ... the interface with the global interface table. ... You can then cast your object to this interface, and register your interface ... the mechanism I stated before with the global interface table. ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: How to marshal code to the original thread
    ... | What you want to do is marshal the interface pointer to the global ... This will give you a cookie value ... | cookie, access the global interface table, and get a correctly marshaled ... |> events work great while in .NET code however, when I pass on an event to ...
    (microsoft.public.dotnet.languages.csharp)
  • how to use interface pointers between threads
    ... i use global interface table to store many interface in one thread on ... i want no call coinitialize all time in my thread ...
    (microsoft.public.vc.atl)
  • RE: Does GetInterfaceFromGlobal(..) makes AddRef?
    ... the Global Interface Table) and may have been validly used to call methods. ... This could be the case if there was an interface reference leak somewhere or ... Regards, ...
    (microsoft.public.win32.programmer.ole)
  • Re: CoMarshalInterThreadInterfaceInStream FinalRelease not called
    ... You need to marshal the ougoing interface, ... Microsoft MVP, MCSD ... "Alexander Nickolov" wrote: ... interface pointer is working as intended but my FinalRelease is not ...
    (microsoft.public.vc.atl)