# IRunningObjectTable::GetTimeOfLastChange

Returns the time that an object was last modified. The object must have previously been registered with the Running Object Table (ROT). This method looks for the last change time recorded in the ROT.

HRESULT GetTimeOfLastChange(

IMoniker *pmkObjectName, | //Pointer to moniker on the object whose status is desired
FILETIME *pfiletime | //Pointer to structure that receives object’s last change time
); |

Parameters

pmkObjectName
  [in] Pointer to the IMoniker interface on the moniker to search for in the ROT.
pfiletime
  [out] Pointer to a FILETIME structure that receives the object’s last change time.

Return Values

S_OK
  The last change time was successfully retrieved.
S_FALSE
  There is no entry for pmkObjectName in the ROT, or that the object it identifies is no longer running (in which case, the entry is revoked).

Remarks

This method returns the change time that was last reported for this object by a call to IRunningObjectTable::NoteChangeTime. If IRunningObjectTable::NoteChangeTime has not been called previously, the method returns the time that was recorded when the object was registered.

This method is provided to enable checking whether a connection between two objects (represented by one object holding a moniker that identifies the other) is up-to-date. For example, if one object is holding cached information about the other object, this method can be used to check whether the object has been modified since the cache was last updated. See IMoniker::GetTimeOfLastChange.

#### Notes to Callers

Generally, you call IRunningObjectTable::GetTimeOfLastChange only if you are writing your own moniker class (that is, implementing the IMoniker interface). You typically call this method from your implementation of IMoniker::GetTimeOfLastChange. However, you should do so only if the pmkToLeft parameter of IMoniker::GetTimeOfLastChange is NULL. Otherwise, you should call IMoniker::GetTimeOfLastChange on your pmkToLeft parameter instead.

See Also

IMoniker::GetTimeOfLastChange, IRunningObjectTable::NoteChangeTime