Symbolische Linkeffekte auf Dateisystemfunktionen
Mehrere Standarddateifunktionen, die Pfadnamen verwenden, um eine oder mehrere Dateien anzugeben, sind von der Verwendung symbolischer Links betroffen. In diesem Thema werden diese Funktionen aufgeführt und die Verhaltensänderungen beschrieben:
- CopyFile und CopyFileTransacted
- CopyFileEx
- CreateFile und CreateFileTransacted
- CreateHardLink und CreateHardLinkTransacted
- DeleteFile und DeleteFileTransacted
- FindFirstChangeNotification
- FindFirstFile und FindFirstFileTransacted
- FindFirstFileEx
- FindNextFile
- GetBinaryType
- GetCompressedFileSize und GetCompressedFileSizeTransacted
- GetDiskFreeSpace
- Getdiskfreespaceex
- GetFileAttributes
- GetFileAttributesEx
- GetFileSecurity
- GetTempPath
- GetVolumeInformation
- SetFileAttributes
- SetFileSecurity
- Zugehörige Themen
In den folgenden Beschreibungen werden die folgenden Begriffe verwendet:
- Quelldatei: Die ursprüngliche Datei, die kopiert werden soll.
- Zieldatei: Die neu erstellte Kopie der Datei.
- Ziel: Die Entität, auf die ein symbolischer Link verweist.
Hinweis
Das Verhalten von Funktionen, die ein handle akzeptieren, das mit der CreateFile-Funktion erstellt wurde, z. B. die GetFileTime-Funktion , hängt davon ab, ob die CreateFile-Funktion mit dem FILE_FLAG_OPEN_REPARSE_POINT-Flag aufgerufen wurde oder nicht. Weitere Informationen finden Sie unter CreateFile und im folgenden Abschnitt CreateFile und CreateFileTransacted .
CopyFile und CopyFileTransacted
Wenn es sich bei der Quelldatei um einen symbolischen Link handelt, ist die tatsächlich kopierte Datei das Ziel des symbolischen Links.
Wenn die Zieldatei bereits vorhanden ist und ein symbolischer Link ist, wird das Ziel des symbolischen Links von der Quelldatei überschrieben.
CopyFileEx
Wenn COPY_FILE_COPY_SYMLINK angegeben ist, und:
- Wenn es sich bei der Quelldatei um einen symbolischen Link handelt, wird der symbolische Link kopiert, nicht die Zieldatei.
- Wenn die Quelldatei kein symbolischer Link ist, gibt es keine Verhaltensänderung.
- Wenn die Zieldatei ein vorhandener symbolischer Link ist, wird der symbolische Link überschrieben, nicht die Zieldatei.
- Wenn auch COPY_FILE_FAIL_IF_EXISTS angegeben wird und die Zieldatei ein vorhandener symbolischer Link ist, schlägt der Vorgang in allen Fällen fehl.
Wenn COPY_FILE_COPY_SYMLINK nicht angegeben ist, und:
- Wenn auch COPY_FILE_FAIL_IF_EXISTS angegeben wird und die Zieldatei ein vorhandener symbolischer Link ist, schlägt der Vorgang nur fehl, wenn das Ziel der symbolischen Verknüpfung vorhanden ist.
- Wenn COPY_FILE_FAIL_IF_EXISTS nicht angegeben ist, gibt es keine Verhaltensänderung.
Windows Server 2003 und Windows XP: Das COPY_FILE_COPY_SYMLINK-Flag wird nicht unterstützt. Wenn es sich bei der Quelldatei um einen symbolischen Link handelt, ist die tatsächlich kopierte Datei das Ziel des symbolischen Links.
CreateFile und CreateFileTransacted
Wenn durch den Aufruf dieser Funktion eine neue Datei erstellt wird, gibt es keine Verhaltensänderung.
Wenn FILE_FLAG_OPEN_REPARSE_POINT angegeben ist, und:
- Wenn eine vorhandene Datei geöffnet wird und es sich um einen symbolischen Link handelt, ist das zurückgegebene Handle ein Handle zum symbolischen Link.
- Wenn CREATE_ALWAYS, TRUNCATE_EXISTING oder FILE_FLAG_DELETE_ON_CLOSE angegeben werden, ist die betroffene Datei ein symbolischer Link.
Wenn FILE_FLAG_OPEN_REPARSE_POINT nicht angegeben ist, und:
- Wenn eine vorhandene Datei geöffnet wird und es sich um einen symbolischen Link handelt, ist das zurückgegebene Handle ein Handle für das Ziel.
- Wenn CREATE_ALWAYS, TRUNCATE_EXISTING oder FILE_FLAG_DELETE_ON_CLOSE angegeben werden, ist die betroffene Datei das Ziel.
CreateHardLink und CreateHardLinkTransacted
Wenn der Pfad auf einen symbolischen Link verweist, erstellt die Funktion eine feste Verknüpfung mit dem Ziel.
DeleteFile und DeleteFileTransacted
Wenn der Pfad auf einen symbolischen Link verweist, wird der symbolische Link gelöscht, nicht das Ziel. Um ein Ziel zu löschen, müssen Sie CreateFile aufrufen und FILE_FLAG_DELETE_ON_CLOSE angeben.
FindFirstChangeNotification
Wenn der Pfad auf einen symbolischen Link verweist, wird das Benachrichtigungshandle für das Ziel erstellt. Wenn eine Anwendung registriert ist, um Änderungsbenachrichtigungen für ein Verzeichnis zu erhalten, das symbolische Links enthält, wird die Anwendung nur benachrichtigt, wenn die symbolischen Verknüpfungen geändert wurden, nicht die Zieldateien.
FindFirstFile und FindFirstFileTransacted
Wenn der Pfad auf einen symbolischen Link verweist, enthält der WIN32_FIND_DATA Puffer Informationen zum symbolischen Link, nicht zum Ziel.
FindFirstFileEx
Wenn der Pfad auf einen symbolischen Link verweist, enthält der WIN32_FIND_DATA Puffer Informationen zum symbolischen Link, nicht zum Ziel.
FindNextFile
Wenn der Pfad auf einen symbolischen Link verweist, enthält der WIN32_FIND_DATA Puffer Informationen zum symbolischen Link, nicht zum Ziel.
GetBinaryType
Wenn der Pfad auf einen symbolischen Link verweist, wird die Zieldatei verwendet.
GetCompressedFileSize und GetCompressedFileSizeTransacted
Wenn der Pfad auf einen symbolischen Link verweist, gibt die Funktion die Dateigröße des Ziels zurück.
GetDiskFreeSpace
Wenn der Pfad auf eine symbolische Verknüpfung verweist, wird der Vorgang für das Ziel ausgeführt.
Getdiskfreespaceex
Wenn der Pfad auf eine symbolische Verknüpfung verweist, wird der Vorgang für das Ziel ausgeführt.
GetFileAttributes
Wenn der Pfad auf einen symbolischen Link verweist, gibt die Funktion Attribute für den symbolischen Link zurück.
GetFileAttributesEx
Wenn der Pfad auf einen symbolischen Link verweist, gibt die Funktion Attribute für den symbolischen Link zurück.
GetFileSecurity
Wenn der Pfad auf einen symbolischen Link verweist, gibt die Funktion Attribute für den symbolischen Link zurück.
GetTempPath
Wenn der Pfad auf einen symbolischen Link verweist, behält der Name des temporären Pfads alle symbolischen Verknüpfungen bei.
GetVolumeInformation
Wenn der Pfad auf einen symbolischen Link verweist, gibt die Funktion Volumeinformationen für das Ziel zurück.
SetFileAttributes
Wenn der Pfad auf einen symbolischen Link verweist, ruft die Funktion Attribute für den symbolischen Link ab.
SetFileSecurity
Wenn der Pfad auf einen symbolischen Link verweist, gibt die Funktion Attribute für den symbolischen Link zurück.
Zugehörige Themen