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