Método IOleLink::SetSourceMoniker (oleidl.h)
Establece el moniker para el origen del vínculo.
Sintaxis
HRESULT SetSourceMoniker(
[in] IMoniker *pmk,
[in] REFCLSID rclsid
);
Parámetros
[in] pmk
Puntero a la interfaz IMoniker en un moniker que identifica el nuevo origen de vínculo del objeto vinculado. Un valor de NULL interrumpe el vínculo.
[in] rclsid
CLSID del origen del vínculo que el objeto vinculado debe usar para obtener acceso a información sobre el objeto vinculado cuando no está enlazado.
Valor devuelto
Este método devuelve S_OK cuando funciona correctamente.
Comentarios
Notas a los autores de llamadas
La aplicación contenedora puede llamar a IOleLink::SetSourceMoniker cuando el usuario final cambia el origen de un vínculo o interrumpe un vínculo. Tenga en cuenta que esto requiere que el contenedor use la función MkParseDisplayName para crear un moniker fuera del nombre para mostrar que escribe el usuario final. Si prefiere que el objeto vinculado realice el análisis, el contenedor puede llamar a IOleLink::SetSourceDisplayName en lugar de IOleLink::SetSourceMoniker.El usuario final cambia el origen de un vínculo o interrumpe un vínculo mediante el cuadro de diálogo Vínculos . Si usa la función OleUIEditLinks para mostrar el cuadro de diálogo Vínculos , debe implementar la interfaz IOleUILinkContainer . El cuadro de diálogo llama a las implementaciones de IOleUILinkContainer::SetLinkSource e IOleUILinkContainer::CancelLink; la implementación de estos métodos puede llamar a IOleLink::SetSourceMoniker.
Si el objeto vinculado está enlazado actualmente a su origen de vínculo, la implementación del objeto vinculado de IOleLink::SetSourceMoniker cierra el vínculo antes de cambiar el moniker.
Notas para los implementadores
El contrato IOleLink no especifica cómo almacena o usa el moniker de origen del vínculo. La implementación proporcionada almacena el moniker absoluto especificado cuando se crea el vínculo o cuando se cambia el moniker; a continuación, calcula y almacena un moniker relativo. Las implementaciones futuras pueden administrar monikers de forma diferente para proporcionar un mejor seguimiento de moniker. El moniker absoluto proporciona la ruta de acceso completa al origen del vínculo. El objeto vinculado usa este moniker absoluto y el moniker del documento compuesto para calcular un moniker relativo que identifica el origen del vínculo con respecto al documento compuesto que contiene el vínculo.pmkCompoundDoc-RelativePathTo>(pmkAbsolute, ppmkRelative)
Al enlazar con el origen del vínculo, el objeto vinculado intenta enlazar primero mediante el moniker relativo. Si se produce un error, intenta enlazar el moniker absoluto.
Cuando el objeto vinculado se enlaza correctamente mediante el moniker relativo o absoluto, actualiza automáticamente el otro moniker. El objeto vinculado también actualiza ambos monikers cuando está enlazado al origen del vínculo y recibe una notificación de cambio de nombre a través del método IAdviseSink::OnRename . Una aplicación contenedora también puede usar el método IOleLink::SetSourceDisplayName para cambiar el moniker de un vínculo.
La implementación del objeto vinculado de IPersistStorage::Save guarda el moniker relativo y absoluto.
Requisitos
Cliente mínimo compatible | Windows 2000 Professional [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows 2000 Server [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | oleidl.h |