Compartilhar via


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

Define o moniker para a origem do link.

Sintaxe

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

Parâmetros

[in] pmk

Um ponteiro para a interface IMoniker em um moniker que identifica a nova fonte de link do objeto vinculado. Um valor de NULL quebra o link.

[in] rclsid

O CLSID da origem do link que o objeto vinculado deve usar para acessar informações sobre o objeto vinculado quando ele não estiver associado.

Valor retornado

Esse método retorna S_OK com êxito.

Comentários

Anotações para chamadores

Seu aplicativo de contêiner pode chamar IOleLink::SetSourceMoniker quando o usuário final altera a origem de um link ou quebra um link. Observe que isso exige que o contêiner use a função MkParseDisplayName para criar um moniker com o nome de exibição inserido pelo usuário final. Se você preferir que o objeto vinculado execute a análise, seu contêiner poderá chamar IOleLink::SetSourceDisplayName em vez de IOleLink::SetSourceMoniker.

O usuário final altera a origem de um link ou quebra um link usando a caixa de diálogo Links . Se você usar a função OleUIEditLinks para exibir a caixa de diálogo Links , deverá implementar a interface IOleUILinkContainer . A caixa de diálogo chama suas implementações de IOleUILinkContainer::SetLinkSource e IOleUILinkContainer::CancelLink; sua implementação desses métodos pode chamar IOleLink::SetSourceMoniker.

Se o objeto vinculado estiver associado atualmente à fonte de link, a implementação do objeto vinculado de IOleLink::SetSourceMoniker fechará o link antes de alterar o moniker.

Anotações aos implementadores

O contrato IOleLink não especifica como o objeto vinculado armazena ou usa o moniker de origem do link. A implementação fornecida armazena o moniker absoluto especificado quando o link é criado ou quando o moniker é alterado; em seguida, ele calcula e armazena um moniker relativo. Implementações futuras podem gerenciar monikers de forma diferente para fornecer um melhor acompanhamento de moniker. O moniker absoluto fornece o caminho completo para a origem do link. O objeto vinculado usa esse moniker absoluto e o moniker do documento composto para calcular um moniker relativo que identifica a origem do link em relação ao documento composto que contém o link.

pmkCompoundDoc-RelativePathTo>(pmkAbsolute, ppmkRelative)

Ao associar à origem do link, o objeto vinculado primeiro tenta associar usando o moniker relativo. Se isso falhar, ele tentará associar o moniker absoluto.

Quando o objeto vinculado é associado com êxito usando o moniker relativo ou absoluto, ele atualiza automaticamente o outro moniker. O objeto vinculado também atualiza os dois monikers quando está associado à origem do link e recebe uma notificação de renomeação por meio do método IAdviseSink::OnRename . Um aplicativo de contêiner também pode usar o método IOleLink::SetSourceDisplayName para alterar o moniker de um link.

A implementação do objeto vinculado de IPersistStorage::Save salva o moniker relativo e absoluto.

Requisitos

   
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho oleidl.h

Confira também

Iolelink

IOleLink::GetSourceMoniker

IOleLink::SetSourceDisplayName

IOleUILinkContainer

OleUIEditLinks