Freigeben über


Symbolische Verknüpfungseffekte 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 aufgeführt und die Verhaltensänderungen beschrieben:

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.

Anmerkung

Das Verhalten von Funktionen, die ein handle akzeptieren, das mithilfe der CreateFile--Funktion erstellt wurde, z. B. die GetFileTime--Funktion, hängt davon ab, ob die CreateFile--Funktion mithilfe des FILE_FLAG_OPEN_REPARSE_POINT-Flags aufgerufen wurde. Weitere Informationen finden Sie unter CreateFile- und den folgenden Abschnitt "CreateFile" und "CreateFileTransacted".

 

CopyFile und CopyFileTransacted

Wenn es sich bei der Quelldatei um eine symbolische Verknüpfung handelt, ist die eigentliche kopierte Datei das Ziel der symbolischen Verknüpfung.

Wenn die Zieldatei bereits vorhanden ist und eine symbolische Verknüpfung ist, wird das Ziel der symbolischen Verknüpfung von der Quelldatei überschrieben.

CopyFileEx

Wenn COPY_FILE_COPY_SYMLINK angegeben ist und:

  • Wenn es sich bei der Quelldatei um eine symbolische Verknüpfung handelt, wird die symbolische Verknüpfung kopiert, nicht die Zieldatei.
  • Wenn die Quelldatei kein symbolischer Link ist, gibt es keine Verhaltensänderung.
  • Wenn es sich bei der Zieldatei um eine vorhandene symbolische Verknüpfung handelt, 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 es sich bei der Quelldatei um eine symbolische Verknüpfung handelt, ist die eigentliche kopierte Datei das Ziel der symbolischen Verknüpfung.

CreateFile und CreateFileTransacted

Wenn der Aufruf dieser Funktion eine neue Datei erstellt, 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_EXISTINGoder FILE_FLAG_DELETE_ON_CLOSE angegeben werden, handelt es sich bei der betroffenen Datei um 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, handelt es sich bei dem zurückgegebenen Handle um ein Handle für das Ziel.
  • Wenn CREATE_ALWAYS, TRUNCATE_EXISTINGoder FILE_FLAG_DELETE_ON_CLOSE angegeben werden, ist die betroffene Datei das Ziel.

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. Zum Löschen eines Ziels müssen Sie CreateFile- aufrufen und FILE_FLAG_DELETE_ON_CLOSEangeben.

FindFirstChangeNotification

Wenn der Pfad auf eine symbolische Verknüpfung verweist, wird der Benachrichtigungshandle für das Ziel erstellt. Wenn eine Anwendung registriert wurde, um Änderungsbenachrichtigungen für ein Verzeichnis zu erhalten, 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 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 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 das Ziel.

GetBinaryType

Wenn der Pfad auf einen symbolischen Link verweist, 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 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 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 symbolische Verknüpfungen bei.

GetVolumeInformation

Wenn der Pfad auf eine symbolische Verknüpfung zeigt, gibt die Funktion Volumeninformationen 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.

CopyFile-

CopyFileTransacted-

CopyFileEx-

CreateFile-

CreateFileTransacted-

CreateHardLink-

CreateHardLinkTransacted-

DeleteFile-

DeleteFileTransacted-

FindFirstChangeNotification-

FindFirstFile-

FindFirstFileEx-

FindFirstFileTransacted

FindNextFile-

GetBinaryType-

GetCompressedFileSize

GetCompressedFileSizeTransacted

GetDiskFreeSpace-

GetDiskFreeSpaceEx-

GetFileAttributes-

GetFileAttributesEx-

GetFileSecurity-

GetTempPath-

GetVolumeInformation-

SetFileAttributes-

SetFileSecurity-