재분석 지점 태그
각 재분석 지점에는 식별자 태그가 있으므로 재분석 지점에서 사용자 정의 데이터를 검사하지 않고도 다양한 유형의 재분석 지점을 효율적으로 구분할 수 있습니다. 시스템은 미리 정의된 태그 세트와 Microsoft용으로 예약된 태그 범위를 사용합니다. 재분석 지점을 설정할 때 예약된 태그를 사용하면 작업이 실패합니다. 이러한 범위에 포함되지 않은 태그는 예약되지 않으며 애플리케이션에 사용할 수 있습니다.
재분석 지점을 설정할 때 재분석 지점에 배치할 데이터에 태그를 지정해야 합니다. 재분석 지점이 설정된 후 새 데이터의 태그가 기존 데이터의 태그와 일치하지 않으면 새 set 연산이 실패합니다. 태그가 일치하면 set 연산은 기존 재분석 지점을 덮어씁니다.
재분석 지점 태그를 검색하려면 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 | Description |
---|---|
M | Microsoft 비트. 이 비트가 설정된 경우 태그는 Microsoft에서 소유합니다. 다른 모든 태그는 이 비트에 대해 0을 사용해야 합니다. |
R | 예약됨: Microsoft가 아닌 모든 태그에 대해 0이어야 합니다. |
N | 서로게이트 비트의 이름을 지정합니다. 이 비트가 설정되면 파일 또는 디렉터리가 시스템의 다른 명명된 엔터티를 나타냅니다. |
태그 테스트에 도움이 되도록 다음 매크로가 있습니다.
연결된 비트가 설정된 경우 각 매크로는 0이 아닌 값을 반환합니다.
다음은 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(설치 가능한 파일 시스템) 키트를 참조하세요.