IOleObject::GetMoniker method (oleidl.h)

Retrieves an embedded object's moniker, which the caller can use to link to the object.


HRESULT GetMoniker(
  [in]  DWORD    dwAssign,
  [in]  DWORD    dwWhichMoniker,
  [out] IMoniker **ppmk


[in] dwAssign

Determines how the moniker is assigned to the object. Depending on the value of dwAssign, IOleObject::GetMoniker does one of the following:

  • Obtains a moniker only if one has already been assigned.
  • Forces assignment of a moniker, if necessary, in order to satisfy the call.
  • Obtains a temporary moniker.
Values for dwAssign are specified in the enumeration OLEGETMONIKER.
Note   You cannot pass OLEGETMONIKER_UNASSIGN when calling IOleObject::GetMoniker. This value is valid only when calling IOleObject::GetMoniker.

[in] dwWhichMoniker

Specifies the form of the moniker being requested. Possible values are taken from the enumeration OLEWHICHMK.

[out] ppmk

Address of IMoniker pointer variable that receives the interface pointer to the object's moniker. If an error occurs, ppmk must be set to NULL. Each time an object receives a call to IOleObject::GetMoniker, it must increase the reference count on ppmk. It is the caller's responsibility to call Release when it is done with ppmk.

Return value

This method returns S_OK on success.


The IOleObject::GetMoniker method returns an object's moniker. Like IOleObject::SetMoniker, this method is important only in the context of managing links to embedded objects and even in that case is optional. A potential link client that requires an object's moniker to bind to the object can call this method to obtain that moniker. The default implementation of IOleObject::GetMoniker calls the IOleClientSite::GetMoniker, returning E_UNEXPECTED if the object is not running or does not have a valid pointer to a client site.


Minimum supported client Windows 2000 Professional [desktop apps only]
Minimum supported server Windows 2000 Server [desktop apps only]
Target Platform Windows
Header oleidl.h

See also