Metodo IShellLinkA::SetRelativePath (shobjidl_core.h)

Imposta il percorso relativo dell'oggetto collegamento shell.

Sintassi

HRESULT SetRelativePath(
  LPCSTR pszPathRel,
  DWORD  dwReserved
);

Parametri

pszPathRel

Tipo: LPCTSTR

Indirizzo di un buffer contenente il percorso completo del file di collegamento, relativo al quale deve essere eseguita la risoluzione del collegamento. Deve essere un nome di file, non un nome di cartella.

dwReserved

Tipo: DWORD

Riservato. Impostare questo parametro su zero.

Valore restituito

Tipo: HRESULT

Se questo metodo ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

I client definiscono in genere un collegamento relativo quando può essere spostato insieme alla destinazione, causando che il percorso assoluto diventi non valido. Il metodo SetRelativePath può essere usato per consentire al processo di risoluzione dei collegamenti di trovare la destinazione in base a un prefisso di percorso comune tra la destinazione e il percorso relativo. Per facilitare il processo di risoluzione, i client devono impostare il percorso relativo come parte del processo di creazione del collegamento.

Esempio

Si consideri lo scenario seguente:

  • È disponibile un collegamento: c:\MyLink.lnk.
  • La destinazione del collegamento è c:\MyDocs\MyFile.txt.
  • Si vuole spostare il collegamento e MyDocs\MyFile.txt in d:\.
È possibile assistere il processo di risoluzione creando il collegamento originale con un percorso relativo prima che il collegamento venga salvato.
::SetRelativePath("c:\MyLink.lnk", NULL);

Prima che il collegamento venga risolto, impostare un nuovo percorso relativo e il codice Risolvi troverà il file nella nuova posizione.

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

Requisiti

Requisito Valore
Client minimo supportato Windows XP [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione shobjidl_core.h
DLL Shell32.dll (versione 4.0 o successiva)

Vedi anche

IShellLink

IShellLink::Resolve

IShellLink::SetIDList

IShellLink::SetPath

IShellLinkA

IShellLinkW