An operating system registry contains multiple "identities." One of these
identities is designated the current identity. An application executing
on a multitasking computer system uses information stored in the current
identity to configure the application, for example to provide a
user-specific user interface. When an application opens, it registers
with an identity manager using objects known as "connection points." To
switch identities, a user supplies the name of an identity to switch to.
The identity manager then uses the registered connection points to query
each of the applications for permission to switch identities. If all the
registered connection points grant permission to switch identities, then
the identity manager switches the current identity by changing
information in the registry. The identity manager then notifies all
applications, via their registered connection points, that a change to
the registry has been made so that the applications can take appropriate
action.