Freigeben über


IShellLinkA::SetRelativePath-Methode (shobjidl_core.h)

Legt den relativen Pfad zum Shell-Linkobjekt fest.

Syntax

HRESULT SetRelativePath(
  LPCSTR pszPathRel,
  DWORD  dwReserved
);

Parameter

pszPathRel

Typ: LPCTSTR

Die Adresse eines Puffers, der den vollqualifizierten Pfad der Tastenkombinationsdatei enthält, relativ zu der die Tastenkombinationsauflösung ausgeführt werden soll. Dabei sollte es sich um einen Dateinamen und nicht um einen Ordnernamen handeln.

dwReserved

Art: DWORD

Reserviert. Legen Sie diesen Parameter auf 0 (null) fest.

Rückgabewert

Typ: HRESULT

Wenn diese Methode erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

Clients definieren häufig einen relativen Link, wenn er zusammen mit seinem Ziel verschoben werden kann, wodurch der absolute Pfad ungültig wird. Die SetRelativePath-Methode kann verwendet werden, um dem Linkauflösungsprozess zu helfen, sein Ziel basierend auf einem gemeinsamen Pfadpräfix zwischen dem Ziel und dem relativen Pfad zu finden. Um den Lösungsprozess zu unterstützen, sollten Clients den relativen Pfad im Rahmen des Linkerstellungsprozesses festlegen.

Beispiele

Nehmen Sie das folgende Szenario als Beispiel:

  • Sie verfügen über einen Link: c:\MyLink.lnk.
  • Das Linkziel ist c:\MyDocs\MyFile.txt.
  • Sie möchten den Link und MyDocs\MyFile.txt zu d:\verschieben.
Sie können den Lösungsprozess unterstützen, indem Sie den ursprünglichen Link mit einem relativen Pfad erstellen, bevor die Verknüpfung gespeichert wird.
::SetRelativePath("c:\MyLink.lnk", NULL);

Bevor die Verknüpfung aufgelöst wird, legen Sie einen neuen relativen Pfad fest, und der Resolve-Code findet die Datei an ihrem neuen Speicherort.

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

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile shobjidl_core.h
DLL Shell32.dll (Version 4.0 oder höher)

Weitere Informationen

IShellLink

IShellLink::Resolve

IShellLink::SetIDList

IShellLink::SetPath

IShellLinkA

IShellLinkW