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

Define o caminho relativo para o objeto de link shell.

Sintaxe

HRESULT SetRelativePath(
  LPCSTR pszPathRel,
  DWORD  dwReserved
);

Parâmetros

pszPathRel

Tipo: LPCTSTR

O endereço de um buffer que contém o caminho totalmente qualificado do arquivo de atalho, relativo ao qual a resolução de atalho deve ser executada. Deve ser um nome de arquivo, não um nome de pasta.

dwReserved

Tipo: DWORD

Reservado. Defina esse parâmetro como zero.

Valor retornado

Tipo: HRESULT

Se o método for bem-sucedido, ele retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.

Comentários

Os clientes geralmente definem um link relativo quando ele pode ser movido junto com seu destino, fazendo com que o caminho absoluto se torne inválido. O método SetRelativePath pode ser usado para ajudar o processo de resolução de vínculo a localizar seu destino com base em um prefixo de caminho comum entre o destino e o caminho relativo. Para auxiliar no processo de resolução, os clientes devem definir o caminho relativo como parte do processo de criação do link.

Exemplos

Considere o cenário a seguir.

  • Você tem um link: c:\MyLink.lnk.
  • O destino do link é c:\MyDocs\MyFile.txt.
  • Você deseja mover o link e MyDocs\MyFile.txt para d:\.
Você pode ajudar o processo de resolução criando o link original com um caminho relativo antes que o atalho seja salvo.
::SetRelativePath("c:\MyLink.lnk", NULL);

Antes que o atalho seja resolvido, defina um novo caminho relativo e o código Resolver encontrará o arquivo em seu novo local.

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

Requisitos

   
Cliente mínimo com suporte Windows XP [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 shobjidl_core.h
DLL Shell32.dll (versão 4.0 ou posterior)

Confira também

IShellLink

IShellLink::Resolve

IShellLink::SetIDList

IShellLink::SetPath

IShellLinkA

IShellLinkW