重新分析点标记
每个重分析点都有一个标识符标记,以便可以有效地区分不同类型的重新分析点,而无需检查重新分析点中的用户定义的数据。 系统使用一组预定义的标记和一系列为 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) 工具包。