재분석 지점 태그

각 재분석 지점에는 식별자 태그가 있으므로 재분석 지점에서 사용자 정의 데이터를 검사하지 않고도 다양한 유형의 재분석 지점을 효율적으로 구분할 수 있습니다. 시스템은 미리 정의된 태그 세트와 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(설치 가능한 파일 시스템) 키트를 참조하세요.