Método IShellLinkA::SetRelativePath (shobjidl_core.h)

Establece la ruta de acceso relativa al objeto de vínculo shell.

Sintaxis

HRESULT SetRelativePath(
  LPCSTR pszPathRel,
  DWORD  dwReserved
);

Parámetros

pszPathRel

Tipo: LPCTSTR

Dirección de un búfer que contiene la ruta de acceso completa del archivo de acceso directo, en relación con la que se debe realizar la resolución de acceso directo. Debe ser un nombre de archivo, no un nombre de carpeta.

dwReserved

Tipo: DWORD

Reservado. Establezca este parámetro en cero.

Valor devuelto

Tipo: HRESULT

Si este método se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.

Comentarios

Normalmente, los clientes definen un vínculo relativo cuando se puede mover junto con su destino, lo que hace que la ruta de acceso absoluta no sea válida. El método SetRelativePath se puede usar para ayudar al proceso de resolución de vínculos a encontrar su destino en función de un prefijo de ruta de acceso común entre el destino y la ruta de acceso relativa. Para ayudar en el proceso de resolución, los clientes deben establecer la ruta de acceso relativa como parte del proceso de creación de vínculos.

Ejemplos

Considere el caso siguiente:

  • Tiene un vínculo: c:\MyLink.lnk.
  • El destino del vínculo es c:\MyDocs\MyFile.txt.
  • Quiere mover el vínculo y MyDocs\MyFile.txt a d:\.
Puede ayudar al proceso de resolución creando el vínculo original con una ruta de acceso relativa antes de guardar el acceso directo.
::SetRelativePath("c:\MyLink.lnk", NULL);

Antes de resolver el acceso directo, establezca una nueva ruta de acceso relativa y el código Resolve encontrará el archivo en su nueva ubicación.

::SetRelativePath("d:\MyLink.lnk", NULL);

Requisitos

Requisito Value
Cliente mínimo compatible Windows XP [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado shobjidl_core.h
Archivo DLL Shell32.dll (versión 4.0 o posterior)

Consulte también

IShellLink

IShellLink::Resolve

IShellLink::SetIDList

IShellLink::SetPath

IShellLinkA

IShellLinkW