Freigeben über


CreateSymbolicLinkA-Funktion (winbase.h)

Erstellt eine symbolische Verknüpfung.

Verwenden Sie die CreateSymbolicLinkTransacted--Funktion, um diesen Vorgang als transacted-Vorgang auszuführen.

Syntax

BOOLEAN CreateSymbolicLinkA(
  [in] LPCSTR lpSymlinkFileName,
  [in] LPCSTR lpTargetFileName,
  [in] DWORD  dwFlags
);

Parameter

[in] lpSymlinkFileName

Die zu erstellende symbolische Verknüpfung.

Dieser Parameter kann den Pfad enthalten.

Standardmäßig ist der Name auf MAX_PATH Zeichen beschränkt. Um diesen Grenzwert auf 32.767 breite Zeichen zu erweitern, stellen Sie "\\?\" dem Pfad voran. Weitere Informationen finden Sie unter Namensdateien, Pfade und Namespaces.

Trinkgeld

Ab Windows 10, Version 1607, können Sie sich anmelden, um die MAX_PATH Einschränkung zu entfernen, ohne "\\?\". Weitere Informationen finden Sie im Abschnitt "Maximale Pfadlängenbeschränkung" Benennungsdateien, Pfade und Namespaces.

[in] lpTargetFileName

Der Name des Ziels für die zu erstellende symbolische Verknüpfung.

Wenn lpTargetFileName einem Gerätenamen zugeordnet ist, wird der Link als absoluter Link behandelt. andernfalls wird der Link als relative Verknüpfung behandelt.

Dieser Parameter kann den Pfad enthalten.

Standardmäßig ist der Name auf MAX_PATH Zeichen beschränkt. Um diesen Grenzwert auf 32.767 breite Zeichen zu erweitern, stellen Sie "\\?\" dem Pfad voran. Weitere Informationen finden Sie unter Namensdateien, Pfade und Namespaces.

Trinkgeld

Ab Windows 10, Version 1607, können Sie sich anmelden, um die MAX_PATH Einschränkung zu entfernen, ohne "\\?\". Weitere Informationen finden Sie im Abschnitt "Maximale Pfadlängenbeschränkung" Benennungsdateien, Pfade und Namespaces.

[in] dwFlags

Gibt an, ob das Linkziel lpTargetFileNameein Verzeichnis ist.

Wert Bedeutung
0x0
Das Linkziel ist eine Datei.
SYMBOLIC_LINK_FLAG_DIRECTORY
0x1
Das Linkziel ist ein Verzeichnis.
SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE
0x2
Geben Sie dieses Kennzeichen an, um die Erstellung symbolischer Verknüpfungen zuzulassen, wenn der Prozess nicht erhöht wird. In UWP muss Entwicklermodus zuerst auf dem Computer aktiviert sein, bevor diese Option funktioniert. Unter MSIX muss der Entwicklermodus für dieses Flag nicht aktiviert werden.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ungleich Null.

Wenn die Funktion fehlschlägt, ist der Rückgabewert null. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten.

Bemerkungen

Symbolische Verknüpfungen können entweder absolute oder relative Verknüpfungen sein. Absolute Verknüpfungen sind Links, die jeden Teil des Pfadnamens angeben. Relative Verknüpfungen werden relativ dazu bestimmt, wo sich relative Verknüpfungsbezeichner in einem angegebenen Pfad befinden. Relative Links werden mithilfe der folgenden Konventionen angegeben:

  • Dot(- und ..)-Konventionen , z. B. ".. \" löst den Pfad relativ zum übergeordneten Verzeichnis auf.
  • Namen ohne Schrägstriche (\\), z. B. löst "tmp" den Pfad relativ zum aktuellen Verzeichnis auf.
  • Stammrelativ – z. B. "\Windows\System32" wird in "aktuelles Laufwerk:\Windows\System32" aufgelöst.
  • Aktuelles Arbeitsverzeichnis –relativ , z. B. wenn das aktuelle Arbeitsverzeichnis "C:\Windows\System32" lautet, wird "C:File.txt" in "C:\Windows\System32\File.txt" aufgelöst.
    Hinweis Wenn Sie einen relativen Arbeitsverzeichnisverknüpfung angeben, wird sie aufgrund der Art und Weise erstellt, wie das aktuelle Arbeitsverzeichnis basierend auf dem Benutzer und dem Thread verarbeitet wird.
     
Um eine symbolische Verknüpfung zu entfernen, löschen Sie die Datei (mit DeleteFile- oder ähnlichen APIs) oder entfernen Sie das Verzeichnis (mit RemoveDirectory oder ähnlichen APIs), je nachdem, welche Art symbolischer Verknüpfung verwendet wird.

In Windows 8 und Windows Server 2012 wird diese Funktion von den folgenden Technologien unterstützt.

Technologie Abgestützt
Server Message Block (SMB) 3.0-Protokoll Ja
SMB 3.0 Transparent Failover (TFO) Ja
SMB 3.0 mit Skalierungsdateifreigaben (SO) Nein
Freigegebenes Clustervolumedateisystem (CsvFS) Nein
Resilient File System (ReFS) Ja
 

CsvFs unterstützen keine Softlinks oder andere Analysepunkte.

Anmerkung

Der winbase.h-Header definiert CreateSymbolicLink als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows Vista [nur Desktop-Apps]
mindestens unterstützte Server- Windows Server 2008 [Nur Desktop-Apps]
Zielplattform- Fenster
Header- winbase.h (enthalten Windows.h)
Library Kernel32.lib
DLL- Kernel32.dll

Siehe auch

CreateSymbolicLinkTransacted-

Dateiverwaltungsfunktionen

symbolische Verknüpfungen