Microsoft KB Archive/109544

From BetaArchive Wiki
Knowledge Base


PRB: IROT::IsRunning() Returns S_FALSE for OLE 1.0 Servers

Article ID: 109544

Article Last Modified on 3/3/2005



APPLIES TO

  • Microsoft OLE 2.01
  • Microsoft OLE 4.0, when used with:
    • Microsoft Windows NT 4.0
    • Microsoft Windows NT 3.51 Service Pack 5
    • Microsoft Windows 95



This article was previously published under Q109544

SYMPTOMS

When an OLE 2.0 container application calls IRunningObjectTable::IsRunning() on the moniker for a linked OLE 1.0 object, IsRunning() returns S_FALSE even if that OLE 1.0 object is already running.

CAUSE

OLE 1.0 objects do not register themselves in the running object table while they are running.

RESOLUTION

Calling IMoniker::IsRunning() on the moniker for a linked OLE 1.0 object correctly returns S_OK if the object is indeed running.

As noted in the OLE SDK version 2.01 documentation for IRunningObjectTable::IsRunning(), clients of a moniker should not call IRunningObjectTable::IsRunning() directly; instead, they should call IMoniker::IsRunning().


Additional query words: 2.01 3.50 4.00 irot

Keywords: KB109544