重新分析点标记

每个重分析点都有一个标识符标记,以便可以有效地区分不同类型的重新分析点,而无需检查重新分析点中的用户定义的数据。 系统使用一组预定义的标记和一系列为 Microsoft 保留的标记。 如果在设置重新分析点时使用任何保留标记,操作将失败。 这些范围中未包含的标记不是保留标记,可供应用程序使用。

设置重新分析点时,必须标记要放置在重分析点中的数据。 建立重分析点后,如果新数据的标记与现有数据的标记不匹配,则新的设置操作将失败。 如果标记匹配,则设置操作将覆盖现有的重新分析点。

若要检索重新分析点标记,请使用 FindFirstFile 函数。 如果 dwFileAttributes 成员包含 FILE_ATTRIBUTE_REPARSE_POINT 属性,则 dwReserved0 成员指定重新分析点。

标记内容

重分析标记存储为 DWORD 值。 位定义某些属性,如下图所示。

   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 位确定重新分析点的类型。 高 16 位保留 12 位供将来使用,4 位表示标记的特定属性以及重新分析点表示的数据。 下表描述了这些位。

bit 说明
M Microsoft 位。 如果设置了此位,则标记归 Microsoft 所有。 所有其他标记必须对此位使用零。
R 保留;对于所有非 Microsoft 标记,必须为零。
N 名称代理位。 如果设置了此位,则文件或目录表示系统中的另一个命名实体。

存在以下宏以帮助测试标记:

如果设置了关联的位,则每个宏都返回一个非零值。

以下是 Microsoft 预定义的重新分析标记值;它们在 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

为了确保标记的唯一性,Microsoft 提供了一种分发新标记的机制。 有关详细信息,请参阅 可安装文件系统 (IFS) 工具包