# GetRunningObjectTable

Supplies a pointer to the IRunningObjectTable interface on the local Running Object Table (ROT).

WINOLEAPI GetRunningObjectTable(

DWORD reserved, | //Reserved
LPRUNNINGOBJECTTABLE *pprot | //Indirect pointer
); |

Parameters

reserved
  [in] Reserved for future use; must be zero.
pprot
  [out] Indirect pointer to the IRunningObjectTable interface on the local ROT. When the function is successful, the caller is responsible for calling IUnknown::Release on the pointer. If an error occurs, pprot is undefined.

Return Values

This function supports the standard return value E_UNEXPECTED, as well as the following:

S_OK
  An IRunningObjectTable pointer was successfully returned.

Remarks

Each workstation has a local ROT that maintains a table of the objects that have been registered as running on that machine. This function returns an IRunningObjectTable interface pointer, which provides access to that table.

Moniker providers, which hand out monikers that identify objects so they are accessible to others, should call GetRunningObjectTable. Use the interface pointer returned by this function to register your objects when they begin running, to record the times that those objects are modified, and to revoke their registrations when they stop running. See the IRunningObjectTable interface for more information.

Compound-document link sources are the most common example of moniker providers. These include server applications that support linking to their documents (or portions of a document) and container applications that support linking to embeddings within their documents. Server applications that do not support linking can also use the ROT to cooperate with container applications that support linking to embeddings.

If you are implementing the IMoniker interface to write a new moniker class, and you need an interface pointer to the ROT, call IBindCtx::GetRunningObjectTable rather than the GetRunningObjectTable function. This allows future implementations of the IBindCtx interface to modify binding behavior.

See Also

IBindCtx::GetRunningObjectTable, IMoniker, IRunningObjectTable