The IRunningObjectTable interface of the com.ms.com package manages access to the Running Object Table (ROT), a globally accessible look-up table on each workstation. A workstation's ROT keeps track of those objects that can be identified by a moniker and that are currently running on the workstation. When a client tries to bind a moniker to an object, the moniker checks the ROT to see if the object is already running; this allows the moniker to bind to the current instance instead of loading a new one.
The ROT contains entries of the form:
(pmkObjectName, pUnkObject)
The pmkObjectName element is a pointer to the moniker that identifies the running object. The pUnkObject element is a pointer to the running object itself. During the binding process, monikers consult the pmkObjectName entries in the ROT to see if an object is already running.
Objects that can be named by monikers must be registered with the ROT when they are loaded and their registration must be revoked when they are no longer running.
Note The IRunningObjectTable interface was added as of versions 2925 through 3167 of the Microsoft virtual machine.
public interface IRunningObjectTable extends IUnknown { // Methods public void Register(int grfFlags, IUnknown punkObject, IMoniker pmkObjectName, int[] pdwRegister); public void Revoke(int dwRegister); public boolean IsRunning(IMoniker pmkObjectName); public IUnknown GetObject(IMoniker pmkObjectName); public void NoteChangeTime(int dwRegister, long pfiletime); public long GetTimeOfLastChange(IMoniker pmkObjectName); public IEnumMoniker EnumRunning();