This document provides an overview of handles.
Allows a thread or process to identify an object which is owned or managed by another thread or process. Handles allow a client to access, or refer to, Kernel objects.
All handles are instances of classes derived from RHandleBase
.
Interactions between the holder of a handle and the object which the handle
represents are mediated through the Kernel. Handles are also used in client-server
relations; the client side refers to a server side session through a handle,
anRSessionBase
object.
The
handle class, RHandleBase
, encapsulates the basic behavior
common to all handles; for example, Close()
to close a handle.
In particular, the class hides the handle-number which identifies the object
which the handle represents.
The class is abstract in the sense that
a RHandleBase
object is never explicitly instantiated. It
is always a base class to a concrete handle class; for example, RSemaphore
, RMutex
, RThread
etc.