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.