Metodo IOleLink::SetSourceMoniker (oleidl.h)

Imposta il moniker per l'origine del collegamento.

Sintassi

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

Parametri

[in] pmk

Puntatore all'interfaccia IMoniker su un moniker che identifica la nuova origine di collegamento dell'oggetto collegato. Il valore NULL interrompe il collegamento.

[in] rclsid

CLSID dell'origine del collegamento che l'oggetto collegato deve utilizzare per accedere alle informazioni sull'oggetto collegato quando non è associato.

Valore restituito

Questo metodo restituisce S_OK se l'operazione ha esito positivo.

Commenti

Note ai chiamanti

L'applicazione contenitore può chiamare IOleLink::SetSourceMoniker quando l'utente finale modifica l'origine di un collegamento o interrompe un collegamento. Si noti che questo richiede al contenitore di usare la funzione MkParseDisplayName per creare un moniker dal nome visualizzato immesso dall'utente finale. Se si preferisce che l'oggetto collegato esegua l'analisi, il contenitore può chiamare IOleLink::SetSourceDisplayName anziché IOleLink::SetSourceMoniker.

L'utente finale modifica l'origine di un collegamento o interrompe un collegamento tramite la finestra di dialogo Collegamenti . Se si usa la funzione OleUIEditLinks per visualizzare la finestra di dialogo Collegamenti , è necessario implementare l'interfaccia IOleUILinkContainer . La finestra di dialogo chiama le implementazioni di IOleUILinkContainer::SetLinkSource e IOleUILinkContainer::CancelLink; l'implementazione di questi metodi può chiamare IOleLink::SetSourceMoniker.

Se l'oggetto collegato è attualmente associato all'origine di collegamento, l'implementazione dell'oggetto collegato di IOleLink::SetSourceMoniker chiude il collegamento prima di modificare il moniker.

Note per gli implementatori

Il contratto IOleLink non specifica il modo in cui l'oggetto collegato archivia o usa il moniker di origine del collegamento. L'implementazione fornita archivia il moniker assoluto specificato quando viene creato il collegamento o quando viene modificato il moniker; quindi calcola e archivia un moniker relativo. Le implementazioni future potrebbero gestire i moniker in modo diverso per fornire un monitoraggio del moniker migliore. Il moniker assoluto fornisce il percorso completo dell'origine del collegamento. L'oggetto collegato usa questo moniker assoluto e il moniker del documento composto per calcolare un moniker relativo che identifica l'origine del collegamento rispetto al documento composto che contiene il collegamento.

pmkCompoundDoc-RelativePathTo>(pmkAbsolute, ppmkRelative)

Quando si esegue l'associazione all'origine del collegamento, l'oggetto collegato tenta prima di tutto di eseguire l'associazione usando il moniker relativo. In caso contrario, tenta di associare il moniker assoluto.

Quando l'oggetto collegato viene associato correttamente usando il moniker relativo o assoluto, aggiorna automaticamente l'altro moniker. L'oggetto collegato aggiorna anche entrambi i moniker quando è associato all'origine del collegamento e riceve una notifica di ridenominazione tramite il metodo IAdviseSink::OnRename . Un'applicazione contenitore può anche usare il metodo IOleLink::SetSourceDisplayName per modificare il moniker di un collegamento.

L'implementazione dell'oggetto collegato di IPersistStorage::Save salva sia il moniker relativo che quello assoluto.

Requisiti

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione oleidl.h

Vedi anche

IOleLink

IOleLink::GetSourceMoniker

IOleLink::SetSourceDisplayName

IOleUILinkContainer

OleUIEditLinks