Bagikan melalui


Pilah Ulang Tag Titik

Setiap titik reparse memiliki tag pengidentifikasi sehingga Anda dapat membedakan secara efisien antara berbagai jenis titik pemisahan ulang, tanpa harus memeriksa data yang ditentukan pengguna di titik pemilah ulang. Sistem ini menggunakan sekumpulan tag yang telah ditentukan sebelumnya dan rentang tag yang disediakan untuk Microsoft. Jika Anda menggunakan salah satu tag yang dipesan saat mengatur titik pemisahan ulang, operasi gagal. Tag yang tidak disertakan dalam rentang ini tidak dicadangkan dan tersedia untuk aplikasi Anda.

Saat Anda mengatur titik pemisahan ulang, Anda harus menandai data yang akan ditempatkan di titik pemisahan ulang. Setelah titik pemisahan ulang dibuat, operasi set baru gagal jika tag untuk data baru tidak cocok dengan tag untuk data yang ada. Jika tag cocok, operasi set menimpa titik pemisahan ulang yang ada.

Untuk mengambil tag titik pemisahan ulang, gunakan fungsi FindFirstFile. Jika anggota dwFileAttributes menyertakan atribut FILE_ATTRIBUTE_REPARSE_POINT, maka anggota dwReserved0 menentukan titik pemilah ulang.

Isi Tag

Tag pemisahan ulang disimpan sebagai nilai DWORD. Bit menentukan atribut tertentu, seperti yang ditunjukkan dalam diagram berikut.

   3 3 2 2 2 2 2 2 2 2 2 2 1 1 1 1 1 1 1 1 1 1
   1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0
  +-+-+-+-+-----------------------+-------------------------------+
  |M|R|N|R|     Reserved bits     |      Reparse tag value        |
  +-+-+-+-+-----------------------+-------------------------------+

16 bit rendah menentukan jenis titik pilah ulang. 16 bit tinggi memiliki 12 bit yang dicadangkan untuk penggunaan di masa mendatang dan 4 bit yang menunjukkan atribut tertentu dari tag dan data yang diwakili oleh titik pemilahan ulang. Tabel berikut menjelaskan bit ini.

Sedikit Deskripsi
M Bit Microsoft. Jika bit ini diatur, tag dimiliki oleh Microsoft. Semua tag lainnya harus menggunakan nol untuk bit ini.
R Dipesan; harus nol untuk semua tag non-Microsoft.
N Nama pengganti bit. Jika bit ini diatur, file atau direktori mewakili entitas bernama lain dalam sistem.

Makro berikut ada untuk membantu dalam menguji tag:

Setiap makro mengembalikan nilai bukan nol jika bit terkait diatur.

Berikut ini adalah nilai tag reparse microsoft yang telah ditentukan sebelumnya; mereka didefinisikan dalam WinNT.h:

  • IO_REPARSE_TAG_AF_UNIX
  • IO_REPARSE_TAG_APPEXECLINK
  • IO_REPARSE_TAG_CLOUD
  • IO_REPARSE_TAG_CLOUD_1
  • IO_REPARSE_TAG_CLOUD_2
  • IO_REPARSE_TAG_CLOUD_3
  • IO_REPARSE_TAG_CLOUD_4
  • IO_REPARSE_TAG_CLOUD_5
  • IO_REPARSE_TAG_CLOUD_6
  • IO_REPARSE_TAG_CLOUD_7
  • IO_REPARSE_TAG_CLOUD_8
  • IO_REPARSE_TAG_CLOUD_9
  • IO_REPARSE_TAG_CLOUD_A
  • IO_REPARSE_TAG_CLOUD_B
  • IO_REPARSE_TAG_CLOUD_C
  • IO_REPARSE_TAG_CLOUD_D
  • IO_REPARSE_TAG_CLOUD_E
  • IO_REPARSE_TAG_CLOUD_F
  • IO_REPARSE_TAG_CLOUD_MASK
  • IO_REPARSE_TAG_CSV
  • IO_REPARSE_TAG_DEDUP
  • IO_REPARSE_TAG_DFS
  • IO_REPARSE_TAG_DFSR
  • IO_REPARSE_TAG_FILE_PLACEHOLDER
  • IO_REPARSE_TAG_GLOBAL_REPARSE
  • IO_REPARSE_TAG_HSM
  • IO_REPARSE_TAG_HSM2
  • IO_REPARSE_TAG_MOUNT_POINT
  • IO_REPARSE_TAG_NFS
  • IO_REPARSE_TAG_ONEDRIVE
  • IO_REPARSE_TAG_PROJFS
  • IO_REPARSE_TAG_PROJFS_TOMBSTONE
  • IO_REPARSE_TAG_SIS
  • IO_REPARSE_TAG_STORAGE_SYNC
  • IO_REPARSE_TAG_SYMLINK
  • IO_REPARSE_TAG_UNHANDLED
  • IO_REPARSE_TAG_WCI
  • IO_REPARSE_TAG_WCI_1
  • IO_REPARSE_TAG_WCI_LINK
  • IO_REPARSE_TAG_WCI_LINK_1
  • IO_REPARSE_TAG_WCI_TOMBSTONE
  • IO_REPARSE_TAG_WIM
  • IO_REPARSE_TAG_WOF

Untuk memastikan keunikan tag, Microsoft menyediakan mekanisme untuk mendistribusikan tag baru. Untuk informasi selengkapnya, lihat kit Installable File System (IFS).