Tags de ponto de análise
Cada ponto de análise tem uma tag de identificador para que você possa diferenciar eficientemente entre os diferentes tipos de pontos de análise, sem ter que examinar os dados definidos pelo usuário no ponto de análise. O sistema usa um conjunto de tags predefinidas e uma gama de tags reservadas para a Microsoft. Se você usar qualquer uma das tags reservadas ao definir um ponto de análise, a operação falhará. As etiquetas não incluídas nestes intervalos não estão reservadas e estão disponíveis para a sua aplicação.
Ao definir um ponto de análise, você deve marcar os dados a serem colocados no ponto de análise. Depois que o ponto de análise for estabelecido, uma nova operação de conjunto falhará se a tag para os novos dados não corresponder à tag para os dados existentes. Se as tags corresponderem, a operação set substituirá o ponto de análise existente.
Para recuperar a marca de ponto de análise, use a função FindFirstFile. Se o dwFileAttributes membro incluir o atributo FILE_ATTRIBUTE_REPARSE_POINT, o dwReserved0 member especificará o ponto de análise.
Conteúdo da Tag
As tags de análise são armazenadas como valores de DWORD. Os bits definem determinados atributos, conforme mostrado no diagrama a seguir.
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 |
+-+-+-+-+-----------------------+-------------------------------+
Os 16 bits baixos determinam o tipo de ponto de reparação. Os 16 bits altos têm 12 bits reservados para uso futuro e 4 bits que denotam atributos específicos das tags e dos dados representados pelo ponto de reparo. A tabela a seguir descreve esses bits.
Pouco | Descrição |
---|---|
M | Microsoft bit. Se esse bit estiver definido, a tag será de propriedade da Microsoft. Todas as outras tags devem usar zero para este bit. |
R | Reservado; deve ser zero para todas as tags que não sejam da Microsoft. |
N | Nome substituto bit. Se esse bit estiver definido, o arquivo ou diretório representará outra entidade nomeada no sistema. |
As macros a seguir existem para ajudar no teste de tags:
Cada macro retorna um valor diferente de zero se o bit associado estiver definido.
A seguir estão os valores de tag de análise predefinidos da Microsoft; eles são definidos em 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
Para garantir a exclusividade das tags, a Microsoft fornece um mecanismo para distribuir novas tags. Para obter mais informações, consulte o Installable File System (IFS) Kit.