IOleObject ::SetMoniker, méthode (oleidl.h)
Notifie un objet du moniker de son conteneur, de son propre moniker par rapport au conteneur ou du moniker complet de l’objet.
Syntaxe
HRESULT SetMoniker(
[in] DWORD dwWhichMoniker,
[in] IMoniker *pmk
);
Paramètres
[in] dwWhichMoniker
Le moniker est passé dans pmk. Les valeurs possibles proviennent de l’énumération OLEWHICHMK.
[in] pmk
Pointeur vers l’emplacement où retourner le moniker.
Valeur retournée
Cette méthode retourne S_OK en cas de réussite. Les autres valeurs de retour possibles sont les suivantes.
Code de retour | Description |
---|---|
|
L'opération a échoué. |
Remarques
Un conteneur qui prend en charge les liens vers des objets incorporés doit être en mesure d’informer un objet incorporé lorsque son moniker a changé. Sinon, les tentatives suivantes effectuées par les clients de liaison pour établir une liaison à l’objet échoueront. La méthode IOleObject ::SetMoniker permet à un conteneur de communiquer ces informations.
Le conteneur peut passer son propre moniker, le moniker d’un objet relatif au conteneur ou le moniker complet d’un objet. Dans la pratique, si un conteneur passe autre chose que le moniker complet d’un objet, chaque objet appelle à nouveau le conteneur pour demander l’affectation du moniker complet, dont l’objet a besoin pour s’inscrire dans la table d’objets en cours d’exécution.
Le moniker d’un objet relatif à son conteneur est stocké par le gestionnaire d’objets dans le cadre de l’état persistant de l’objet. Toutefois, le moniker du conteneur de l’objet ne doit pas être stocké de manière persistante à l’intérieur de l’objet, car le conteneur peut être renommé à tout moment.
Remarques aux appelants
Un conteneur appelle IOleObject ::SetMoniker lorsque le conteneur a été renommé, et que les objets incorporés du conteneur peuvent actuellement ou potentiellement servir de sources de liens. Les conteneurs appellent SetMoniker principalement dans le contexte de la liaison, car un objet incorporé connaît déjà son moniker. Même dans le contexte de la liaison, l’appel de cette méthode est facultatif, car les objets peuvent appeler IOleClientSite ::GetMoniker pour forcer l’affectation d’un nouveau moniker.Remarques aux implémenteurs
Lors de la réception d’un appel à IOleObject ::SetMoniker, un objet doit inscrire son moniker complet dans la table d’objets en cours d’exécution et envoyer une notification IAdviseSink ::OnRename à tous les récepteurs qui existent pour l’objet.Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | oleidl.h |