Opening a handle to an existing global Kernel object

This document describes how to find a global kernel object by using a handle.

A handle can be opened on an existing global Kernel object.

Global Kernel objects are explicitly named by their creators; the technique for finding these objects involves using a search pattern to search for objects with matching full names. The TFindHandleBase provides the basic behavior.

In practice, each specific type has its own class derived from TFindHandleBase , for example, semaphores have TFindSemaphore , mutexes have TFindMutex and so on.

For example, the following code fragment searches for the first global semaphore whose full name ends with the characters "day" and opens a thread-relative handle on that semaphore:

TFindSemaphore finder(KDay);       // derived from TFindHandleBase
TFullName      theName;
RSemaphore     theSem;             // derived from RHandleBase
if ((finder.Next(thename))==KErrNone)