OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
 
From: Peter Partch (peterpartch_at_PMCONSULT.COM)
Date: Tue Aug 20 2002 - 09:53:41 CDT

  • Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

    No, the registering apartment does not have to stay alive....the apartment
    that the object lives in has to stay alive.

    ...and don't register the IStream* from COMITIIS....that is the wrong object
    instance. It only holds the MEOW packet for another object reference and
    become useless as soon as you call CoGetInterfaceAndReleaseStream.

    Peter Partch

    ----- Original Message -----
    From: "Ben Callister" <BCallisterTUTOR.COM>
    To: <DCOMDISCUSS.MICROSOFT.COM>
    Sent: Tuesday, August 20, 2002 6:55 AM
    Subject: Re: [DCOM] marhsalling interface pointers...

    that *really* sucks about the GIT (registering apt having to stay
    alive). that doesnt make sense to me since the GIT is a process-wide
    store for interface pointers. does this still apply if the interface i
    register is an IStream* from COMITIIS?
    thanks tons,
    Ben

    -----Original Message-----
    From: Steve Johnson [mailto:sjohnson3TSYSTEMS.COM]
    Sent: Tuesday, August 20, 2002 9:47 AM
    To: DCOMDISCUSS.MICROSOFT.COM
    Subject: Re: marhsalling interface pointers...

    [Steve Wrote]
    >> 1 - The apartment that originally registered the interface in the GIT

    >> must remain alive for the *entire* time the interface is registered
    >> in the GIT. Attempts to unmarshal the interface after the original
    >> apartment has been destroyed will fail.
    >>

    [Phil Wrote]
    > This is not unique to the GIT. If you kill any apartment then you kill

    > all objects in it irrespective of their reference counts.
    > CoMarshalWhatEver suffers the same problem. Note: if the source
    > apartment is STA then it must
    > be processing messages or the unmarshal will block until it does.

    The difference is this: When using COMITIIS, you can kill the apartment
    that called COMITIIS, and still successfully unmarshal the interface in
    a different apartment as long as the apartment the object actually lives
    in remains. With the GIT, the apartment that
    *registered* the interface must remain alive regardless whether that's
    the apartment the real object lives in.

    --
    Steve Johnson
    3t Systems
    

    ---------------------------------------------------------------- Users Guide http://discuss.microsoft.com/archives/mailfaq.asp contains important info. Save time, search the archives at http://discuss.microsoft.com/archives/index.html . To unsubscribe, mailto:DCOM-signoff-requestDISCUSS.MICROSOFT.COM

    ---------------------------------------------------------------- Users Guide http://discuss.microsoft.com/archives/mailfaq.asp contains important info. Save time, search the archives at http://discuss.microsoft.com/archives/index.html . To unsubscribe, mailto:DCOM-signoff-requestDISCUSS.MICROSOFT.COM

    ---------------------------------------------------------------- Users Guide http://discuss.microsoft.com/archives/mailfaq.asp contains important info. Save time, search the archives at http://discuss.microsoft.com/archives/index.html . To unsubscribe, mailto:DCOM-signoff-requestDISCUSS.MICROSOFT.COM