Auswirkungen symbolischer Verknüpfungen auf Dateisystemfunktionen
Mehrere Standarddateifunktionen, die Pfadnamen verwenden, um eine oder mehrere Dateien anzugeben, sind von der Verwendung symbolischer Verknüpfungen betroffen. In diesem Thema werden diese Funktionen aufgelistet 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 eine symbolische Verknüpfung verweist.
Hinweis
Das Verhalten von Funktionen, die ein handle akzeptieren, das mit der CreateFile-Funktion erstellt wurde, z. B. die GetFileTime-Funktion, unterscheidet sich je danach, ob die CreateFile-Funktion mit dem FLAG FILE FLAG OPEN _ _ _ REPARSE _ POINT aufgerufen wurde oder nicht. Weitere Informationen finden Sie unter CreateFile und im folgenden Abschnitt CreateFile und CreateFileTransacted.
CopyFile und CopyFileTransacted
Wenn die Quelldatei eine symbolische Verknüpfung ist, ist die tatsächlich kopierte Datei das Ziel der symbolischen Verknüpfung.
Wenn die Zieldatei bereits vorhanden ist und eine symbolische Verknüpfung ist, wird die symbolische Verknüpfung von der Quelldatei überschrieben.
CopyFileEx
Wenn COPY FILE COPY _ _ _ SYMLINK angegeben ist und:
- Wenn die Quelldatei eine symbolische Verknüpfung ist, wird die symbolische Verknüpfung kopiert, nicht die Zieldatei.
- Wenn die Quelldatei keine symbolische Verknüpfung ist, gibt es keine Verhaltensänderung.
- Wenn die Zieldatei eine vorhandene symbolische Verknüpfung ist, wird die symbolische Verknüpfung überschrieben, nicht die Zieldatei.
- Wenn COPY FILE FAIL IF _ _ _ _ EXISTS ebenfalls angegeben ist und die Zieldatei eine vorhandene symbolische Verknüpfung ist, schlägt der Vorgang in allen Fällen fehl.
Wenn COPY FILE COPY _ _ _ SYMLINK nicht angegeben ist, und:
- Wenn COPY FILE FAIL IF _ _ _ _ EXISTS ebenfalls angegeben ist und die Zieldatei eine vorhandene symbolische Verknüpfung 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 die Quelldatei eine symbolische Verknüpfung ist, ist die tatsächlich kopierte Datei das Ziel der symbolischen Verknüpfung.
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 eine symbolische Verknüpfung handelt, ist das zurückgegebene Handle ein Handle für die symbolische Verknüpfung.
- Wenn CREATE _ ALWAYS, TRUNCATE _ EXISTING oder FILE FLAG DELETE ON _ _ _ _ CLOSE angegeben sind, ist die betroffene Datei eine symbolische Verknüpfung.
Wenn FILE FLAG OPEN _ _ _ REPARSE _ POINT nicht angegeben ist, und:
- Wenn eine vorhandene Datei geöffnet wird und es sich um eine symbolische Verknüpfung handelt, ist das zurückgegebene Handle ein Handle für das Ziel.
- Wenn CREATE _ ALWAYS, TRUNCATE _ EXISTING oder FILE FLAG DELETE ON _ _ _ _ CLOSE angegeben sind, ist die betroffene Datei das Ziel.
CreateHardLink und CreateHardLinkTransacted
Wenn der Pfad auf eine symbolische Verknüpfung zeigt, erstellt die Funktion eine harte Verknüpfung mit dem Ziel.
DeleteFile und DeleteFileTransacted
Wenn der Pfad auf eine symbolische Verknüpfung zeigt, wird die symbolische Verknüpfung 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 eine symbolische Verknüpfung zeigt, wird das Benachrichtigungshandle für das Ziel erstellt. Wenn eine Anwendung für den Empfang von Änderungsbenachrichtigungen für ein Verzeichnis registriert wurde, das symbolische Verknüpfungen 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 eine symbolische Verknüpfung zeigt, enthält der WIN32 _ FIND _ DATA-Puffer Informationen über die symbolische Verknüpfung, nicht über das Ziel.
FindFirstFileEx
Wenn der Pfad auf eine symbolische Verknüpfung zeigt, enthält der WIN32 _ FIND _ DATA-Puffer Informationen über die symbolische Verknüpfung, nicht über das Ziel.
FindNextFile
Wenn der Pfad auf eine symbolische Verknüpfung zeigt, enthält der WIN32 _ FIND _ DATA-Puffer Informationen über die symbolische Verknüpfung, nicht über das Ziel.
GetBinaryType
Wenn der Pfad auf eine symbolische Verknüpfung zeigt, wird die Zieldatei verwendet.
GetCompressedFileSize und GetCompressedFileSizeTransacted
Wenn der Pfad auf eine symbolische Verknüpfung zeigt, gibt die Funktion die Dateigröße des Ziels zurück.
GetDiskFreeSpace
Wenn der Pfad auf eine symbolische Verknüpfung zeigt, wird der Vorgang auf dem Ziel ausgeführt.
Getdiskfreespaceex
Wenn der Pfad auf eine symbolische Verknüpfung zeigt, wird der Vorgang auf dem Ziel ausgeführt.
GetFileAttributes
Wenn der Pfad auf eine symbolische Verknüpfung zeigt, gibt die Funktion Attribute für die symbolische Verknüpfung zurück.
GetFileAttributesEx
Wenn der Pfad auf eine symbolische Verknüpfung zeigt, gibt die Funktion Attribute für die symbolische Verknüpfung zurück.
GetFileSecurity
Wenn der Pfad auf eine symbolische Verknüpfung zeigt, gibt die Funktion Attribute für die symbolische Verknüpfung zurück.
GetTempPath
Wenn der Pfad auf eine symbolische Verknüpfung verweist, behält der Name des temporären Pfads alle symbolischen Verknüpfungen bei.
GetVolumeInformation
Wenn der Pfad auf eine symbolische Verknüpfung zeigt, gibt die Funktion Volumeinformationen für das Ziel zurück.
SetFileAttributes
Wenn der Pfad auf eine symbolische Verknüpfung zeigt, ruft die Funktion Attribute für die symbolische Verknüpfung ab.
SetFileSecurity
Wenn der Pfad auf eine symbolische Verknüpfung zeigt, gibt die Funktion Attribute für die symbolische Verknüpfung zurück.