重新分析點標記
每個重新分析點都有一個標識符標記,以便您有效率地區分不同類型的重新分析點,而不需要檢查重新分析點中的使用者定義數據。 系統會使用一組預先定義的標記,以及保留給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位代表標記的特定屬性,以及重新分析點所代表的數據。 下表描述這些位。
位 | 描述 |
---|---|
M | Microsoft位。 如果設定此位,則標記是由 Microsoft 所擁有。 所有其他標記都必須針對這個位使用零。 |
R | 保留;所有非Microsoft標記都必須為零。 |
N | 名稱 Surrogate 位。 如果設定此位,則檔案或目錄代表系統中的另一個具名實體。 |
下列巨集可用來協助測試標記:
如果已設定相關聯的位,則每個巨集都會傳回非零值。
以下是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) 套件。