Windows Mobile 6.5
A version of this page is also available for

This method retrieves an embedded object's moniker, which the caller can use to link to the object.

HRESULT GetMoinker( 
  DWORD dwAssign, 
  DWORD dwWhichMoniker, 
  IMoniker** ppmk 


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

  • Obtains a moniker only if one has been assigned
  • Forces assignment of a moniker, if necessary, to satisfy the call
  • Obtains a temporary moniker

Values for dwAssign are specified in the enumeration OLEGETMONIKER.


[in] Specifies the form of the moniker being requested.

Valid values are taken from the enumeration OLEWHICHMK.


[out] 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 GetMoniker, it must increase the reference count on *ppmk.

The caller is responsible to call IUnknown::Release when it is done with *ppmk.

You cannot pass OLEGETMONIKER_UNASSIGN when calling GetMoniker. This value is valid only when calling IOleClientSite::GetMoniker.

The 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 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.

To determine whether the platform supports this interface, see Determining Supported COM APIs.

HeaderOleidl.h, oleidl.idl
Libraryoleaut32.lib, uuid.lib
Windows Embedded CEWindows CE 2.0 and later
Windows MobileWindows Mobile Version 5.0 and later

Community Additions