> >> HANDLE is process local? That is worse then, because then
> there's no
> >> guarentee that each process will see a different identifier.
>
> > HANDLE is process local. What you need to do is run
> DuplicateHandle()
> > on it specifying it should "also be valid for process Y" (for which
> > you need a HANDLE opened, in this case the stats
> collector). This will
> > give you a new handle whichi s valid in the *target
> process*, but it
> > is *not* valid in your own process.
>
> What happens if process Y goes away between the time you
> obtain a handle for it and the time you try to run this
> DuplicateHandle call?
I don't know offhand. I would assume one of two things:
1) DuplicateHandle() fails.
2) You get a handle back that is valid in the dead process (meaning it's
not valid).
I can put together some quick test-code for this if you need me to?
//Magnus