# OleNoteObjectVisible

Increments or decrements an external reference that keeps an object in the running state.

WINOLEAPI OleNoteObjectVisible(

LPUNKNOWN pUnknown, | //Pointer to the interface on the object in question
BOOL fVisible | //Whether object is visible
); |

Parameters

pUnknown
  [in] Pointer to the IUnknown interface on the object that is to be locked or unlocked.
fVisible
  [in] Whether the object is visible. If TRUE, OLE increments the reference count to hold the object visible and alive regardless of external or internal IUnknown::AddRef and IUnknown::Release operations, registrations, or revocation. If FALSE, OLE releases its hold (decrements the reference count) and the object can be closed.

Return Values

This function supports the standard return values E_INVALIDARG, E_OUTOFMEMORY and E_UNEXPECTED, as well as the following:

S_OK
  Indicates the object was successfully locked or unlocked.

Remarks

The OleNoteObjectVisible function calls the CoLockObjectExternal function. It is provided as a separate function to reinforce the need to lock an object when it becomes visible to the user and to release the object when it becomes invisible. This creates a strong lock on behalf of the user to ensure that the object cannot be closed by its container while it is visible.

See Also

CoLockObjectExternal