IOleObject::SetMoniker
Notifies an object of its container's moniker, the object's own moniker
relative to the container, or the object's full moniker.
HRESULT SetMoniker(
DWORD dwWhichMoniker,
| //Value specifying moniker being set
|
IMoniker *pmk
| //Pointer to moniker
|
);
|
|
Parameters
dwWhichMoniker
[in] Specifies which moniker is passed in
pmk. Values are from the enumeration
OLEWHICHMK.
pmk
[in] Points to where to return the moniker.
Return Values
S_OK
Moniker successfully set.
E_FAIL
No client site for object.
Comments
A container that supports links to embedded objects must be able to inform an
embedded object when its moniker has changed. Otherwise, subsequent attempts by
link clients to bind to the object will fail.The
IOleObject::SetMoniker method provides one way for a container to communicate this information.
The container can pass either its own moniker, an object's moniker relative to
the container, or an object's full moniker. In practice, if a container passes
anything other than an object's full moniker, each object calls the container
back to request assignment of the full moniker, which the object requires to
register itself in the running object table.
The moniker of an object relative to its container is stored by the object
handler as part of the object's persistent state. The moniker of the object's
container, however, must not be persistently stored inside the object because the
container can be renamed at any time.
Notes to Callers
A container calls
IOleObject::SetMoniker when the container has been renamed, and the container's embedded objects
currently or can potentially serve as link sources. Containers call
SetMoniker mainly in the context of linking because an embedded object is already is
aware of its moniker. Even in the context of linking, calling this method is
optional because objects can call
IOleClientSite::GetMoniker to force assignment of a new moniker.
Note to Implementors
Upon receiving a call to
SetMoniker, an object should register its full moniker in the running object table and
send OnRename notification to all advise sinks that exist for the object.
See Also
CreateItemMoniker,
IAdviseSink::OnRename,
IOleClientSite::GetMoniker,
IOleObject::GetMoniker
- Software for developers
-
Delphi Components
.Net Components
Software for Android Developers
- More information resources
-
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
- Databases for Amazon shops developers
-
Amazon Categories Database
Browse Nodes Database