Partager via


Méthode IOleLink::SetSourceMoniker (oleidl.h)

Définit le moniker pour la source du lien.

Syntaxe

HRESULT SetSourceMoniker(
  [in] IMoniker *pmk,
  [in] REFCLSID rclsid
);

Paramètres

[in] pmk

Pointeur vers l’interface IMoniker sur un moniker qui identifie la nouvelle source de lien de l’objet lié. La valeur NULL interrompt le lien.

[in] rclsid

CLSID de la source de lien que l’objet lié doit utiliser pour accéder aux informations relatives à l’objet lié lorsqu’il n’est pas lié.

Valeur retournée

Cette méthode retourne S_OK en cas de réussite.

Notes

Remarques aux appelants

Votre application conteneur peut appeler IOleLink::SetSourceMoniker lorsque l’utilisateur final modifie la source d’un lien ou interrompt un lien. Notez que cela nécessite que votre conteneur utilise la fonction MkParseDisplayName pour créer un moniker à partir du nom d’affichage entré par l’utilisateur final. Si vous préférez que l’objet lié effectue l’analyse, votre conteneur peut appeler IOleLink::SetSourceDisplayName au lieu de IOleLink::SetSourceMoniker.

L’utilisateur final modifie la source d’un lien ou interrompt un lien à l’aide de la boîte de dialogue Liens . Si vous utilisez la fonction OleUIEditLinks pour afficher la boîte de dialogue Liens , vous devez implémenter l’interface IOleUILinkContainer . La boîte de dialogue appelle vos implémentations de IOleUILinkContainer::SetLinkSource et IOleUILinkContainer::CancelLink; votre implémentation de ces méthodes peut appeler IOleLink::SetSourceMoniker.

Si l’objet lié est actuellement lié à sa source de lien, l’implémentation de IOleLink::SetSourceMoniker par l’objet lié ferme le lien avant de modifier le moniker.

Remarques aux implémenteurs

Le contrat IOleLink ne spécifie pas comment l’objet lié stocke ou utilise le moniker source de lien. L’implémentation fournie stocke le moniker absolu spécifié lors de la création du lien ou lorsque le moniker est modifié ; il calcule et stocke ensuite un moniker relatif. Les implémentations futures peuvent gérer les monikers différemment pour fournir un meilleur suivi de moniker. Le moniker absolu fournit le chemin d’accès complet à la source du lien. L’objet lié utilise ce moniker absolu et le moniker du document composé pour calculer un moniker relatif qui identifie la source de lien par rapport au document composé qui contient le lien.

pmkCompoundDoc-RelativePathTo>(pmkAbsolute, ppmkRelative)

Lors de la liaison à la source de lien, l’objet lié tente d’abord de lier à l’aide du moniker relatif. En cas d’échec, il tente de lier le moniker absolu.

Lorsque l’objet lié se lie correctement à l’aide du moniker relatif ou absolu, il met automatiquement à jour l’autre moniker. L’objet lié met également à jour les deux monikers lorsqu’il est lié à la source du lien et qu’il reçoit une notification de renommage via la méthode IAdviseSink::OnRename . Une application conteneur peut également utiliser la méthode IOleLink::SetSourceDisplayName pour modifier le moniker d’un lien.

L’implémentation de IPersistStorage::Save de l’objet lié enregistre à la fois le moniker relatif et le moniker absolu.

Spécifications

   
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

Voir aussi

IOleLink

IOleLink::GetSourceMoniker

IOleLink::SetSourceDisplayName

IOleUILinkContainer

OleUIEditLinks