IOleObject::SetMoniker-Methode (oleidl.h)

Benachrichtigt ein Objekt über den Moniker des Containers, den eigenen Moniker des Objekts relativ zum Container oder den vollständigen Moniker des Objekts.

Syntax

HRESULT SetMoniker(
  [in] DWORD    dwWhichMoniker,
  [in] IMoniker *pmk
);

Parameter

[in] dwWhichMoniker

Der Moniker wird in pmk übergeben. Mögliche Werte stammen aus der -Enumeration OLEWHICHMK.

[in] pmk

Zeiger auf den Speicherort, an dem der Moniker zurückgegeben werden soll.

Rückgabewert

Diese Methode gibt S_OK bei Erfolg zurück. Weitere mögliche Rückgabewerte:

Rückgabecode Beschreibung
E_FAIL
Fehler beim Vorgang.

Hinweise

Ein Container, der Links zu eingebetteten Objekten unterstützt, muss ein eingebettetes Objekt informieren können, wenn sich sein Moniker geändert hat. Andernfalls schlagen nachfolgende Versuche von Verknüpfungsclients zur Bindung an das Objekt fehl. Die IOleObject::SetMoniker-Methode bietet eine Möglichkeit für einen Container, diese Informationen zu kommunizieren.

Der Container kann entweder seinen eigenen Moniker, den Moniker eines Objekts relativ zum Container oder den vollständigen Moniker eines Objekts übergeben. Wenn ein Container etwas anderes als den vollständigen Moniker eines Objekts übergibt, ruft jedes Objekt den Container zurück, um die Zuweisung des vollständigen Monikers anzufordern, den das Objekt benötigt, um sich in der ausgeführten Objekttabelle zu registrieren.

Der Moniker eines Objekts relativ zu seinem Container wird vom Objekthandler als Teil des persistenten Zustands des Objekts gespeichert. Der Moniker des Objektcontainers darf jedoch nicht dauerhaft im Objekt gespeichert werden, da der Container jederzeit umbenannt werden kann.

Hinweise für Anrufer

Ein Container ruft IOleObject::SetMoniker auf, wenn der Container umbenannt wurde und die eingebetteten Objekte des Containers derzeit oder möglicherweise als Linkquellen dienen können. Container rufen SetMoniker hauptsächlich im Kontext der Verknüpfung auf, da ein eingebettetes Objekt seinen Moniker bereits kennt. Selbst im Kontext der Verknüpfung ist der Aufruf dieser Methode optional, da Objekte IOleClientSite::GetMoniker aufrufen können, um die Zuweisung eines neuen Monikers zu erzwingen.

Hinweise für Implementierer

Nach dem Empfang eines Aufrufs von IOleObject::SetMoniker sollte ein Objekt seinen vollständigen Moniker in der ausgeführten Objekttabelle registrieren und eine IAdviseSink::OnRename-Benachrichtigung an alle Für das Objekt vorhandenen Beratungssenken senden.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile oleidl.h

Weitere Informationen

CreateItemMoniker

IAdviseSink::OnRename

IOleClientSite::GetMoniker

IOleObject

IOleObject::GetMoniker