Efek Tautan Simbolis pada Fungsi Sistem File

Beberapa fungsi file standar yang menggunakan nama jalur untuk menentukan satu atau beberapa file dipengaruhi oleh penggunaan tautan simbolis. Topik ini mencantumkan fungsi tersebut dan menjelaskan perubahan perilaku:

Dalam deskripsi di bawah ini, istilah berikut digunakan:

  • File sumber—File asli yang akan disalin.
  • File tujuan—Salinan file yang baru dibuat.
  • Target—Entitas yang diacu oleh tautan simbolis.

Catatan

Perilaku fungsi yang menerima handel yang dibuat menggunakan fungsi CreateFile , seperti fungsi GetFileTime , akan berbeda berdasarkan apakah fungsi CreateFile dipanggil menggunakan bendera FILE_FLAG_OPEN_REPARSE_POINT atau tidak. Untuk informasi selengkapnya, lihat CreateFile dan bagian CreateFile dan CreateFileTransacted berikut ini.

 

CopyFile dan CopyFileTransacted

Jika file sumber adalah tautan simbolis, file aktual yang disalin adalah target tautan simbolis.

Jika file tujuan sudah ada dan merupakan tautan simbolis, target tautan simbolis ditimpa oleh file sumber.

CopyFileEx

Jika COPY_FILE_COPY_SYMLINK ditentukan dan:

  • Jika file sumber adalah tautan simbolis, tautan simbolis disalin, bukan file target.
  • Jika file sumber bukan tautan simbolis, tidak ada perubahan perilaku.
  • Jika file tujuan adalah tautan simbolis yang ada, tautan simbolis ditimpa, bukan file target.
  • Jika COPY_FILE_FAIL_IF_EXISTS juga ditentukan, dan file tujuan adalah tautan simbolis yang ada, operasi gagal dalam semua kasus.

Jika COPY_FILE_COPY_SYMLINK tidak ditentukan dan:

  • Jika COPY_FILE_FAIL_IF_EXISTS juga ditentukan, dan file tujuan adalah tautan simbolis yang ada, operasi hanya gagal jika target tautan simbolis ada.
  • Jika COPY_FILE_FAIL_IF_EXISTS tidak ditentukan, tidak ada perubahan perilaku.

Windows Server 2003 dan Windows XP: Bendera COPY_FILE_COPY_SYMLINK tidak didukung. Jika file sumber adalah tautan simbolis, file aktual yang disalin adalah target tautan simbolis.

CreateFile dan CreateFileTransacted

Jika panggilan ke fungsi ini membuat file baru, tidak ada perubahan perilaku.

Jika FILE_FLAG_OPEN_REPARSE_POINT ditentukan dan:

  • Jika file yang ada dibuka dan merupakan tautan simbolis, handel yang dikembalikan adalah handel ke tautan simbolis.
  • Jika CREATE_ALWAYS, TRUNCATE_EXISTING, atau FILE_FLAG_DELETE_ON_CLOSE ditentukan, file yang terpengaruh adalah tautan simbolis.

Jika FILE_FLAG_OPEN_REPARSE_POINT tidak ditentukan dan:

  • Jika file yang ada dibuka dan merupakan tautan simbolis, handel yang dikembalikan adalah handel ke target.
  • Jika CREATE_ALWAYS, TRUNCATE_EXISTING, atau FILE_FLAG_DELETE_ON_CLOSE ditentukan, file yang terpengaruh adalah target.

Jika jalur menunjuk ke tautan simbolis, fungsi membuat tautan keras ke target.

DeleteFile dan DeleteFileTransacted

Jika jalur menunjuk ke tautan simbolis, tautan simbolis dihapus, bukan target. Untuk menghapus target, Anda harus memanggil CreateFile dan menentukan FILE_FLAG_DELETE_ON_CLOSE.

FindFirstChangeNotification

Jika jalur menunjuk ke tautan simbolis, handel pemberitahuan dibuat untuk target. Jika aplikasi telah mendaftar untuk menerima pemberitahuan perubahan untuk direktori yang berisi tautan simbolis, aplikasi hanya diberi tahu ketika tautan simbolis telah diubah, bukan file target.

FindFirstFile dan FindFirstFileTransacted

Jika jalur menunjuk ke tautan simbolis, buffer WIN32_FIND_DATA berisi informasi tentang tautan simbolis, bukan target.

FindFirstFileEx

Jika jalur menunjuk ke tautan simbolis, buffer WIN32_FIND_DATA berisi informasi tentang tautan simbolis, bukan target.

FindNextFile

Jika jalur menunjuk ke tautan simbolis, buffer WIN32_FIND_DATA berisi informasi tentang tautan simbolis, bukan target.

GetBinaryType

Jika jalur menunjuk ke tautan simbolis, file target akan digunakan.

GetCompressedFileSize dan GetCompressedFileSizeTransacted

Jika jalur menunjuk ke tautan simbolis, fungsi mengembalikan ukuran file target.

GetDiskFreeSpace

Jika jalur menunjuk ke tautan simbolis, operasi dilakukan pada target.

GetDiskFreeSpaceEx

Jika jalur menunjuk ke tautan simbolis, operasi dilakukan pada target.

GetFileAttributes

Jika jalur menunjuk ke tautan simbolis, fungsi mengembalikan atribut untuk tautan simbolis.

GetFileAttributesEx

Jika jalur menunjuk ke tautan simbolis, fungsi mengembalikan atribut untuk tautan simbolis.

GetFileSecurity

Jika jalur menunjuk ke tautan simbolis, fungsi mengembalikan atribut untuk tautan simbolis.

GetTempPath

Jika jalur menunjuk ke tautan simbolis, nama jalur sementara mempertahankan tautan simbolis apa pun.

GetVolumeInformation

Jika jalur menunjuk ke tautan simbolis, fungsi mengembalikan informasi volume untuk target.

SetFileAttributes

Jika jalur menunjuk ke tautan simbolis, fungsi mengambil atribut untuk tautan simbolis.

SetFileSecurity

Jika jalur menunjuk ke tautan simbolis, fungsi mengembalikan atribut untuk tautan simbolis.

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