Punkttags neu analysieren

Jeder Analysepunkt verfügt über ein Bezeichnertag, sodass Sie effizient zwischen den verschiedenen Typen von Analysepunkten unterscheiden können, ohne die benutzerdefinierten Daten im Analysepunkt untersuchen zu müssen. Das System verwendet einen Satz vordefinierter Tags und einen Bereich von Tags, die für Microsoft reserviert sind. Wenn Sie beim Festlegen eines Analysepunkts eines der reservierten Tags verwenden, schlägt der Vorgang fehl. Tags, die nicht in diesen Bereichen enthalten sind, sind nicht reserviert und für Ihre Anwendung verfügbar.

Wenn Sie einen Analysepunkt festlegen, müssen Sie die Daten markieren, die im Analysepunkt platziert werden sollen. Nachdem der Analysepunkt eingerichtet wurde, schlägt ein neuer Satzvorgang fehl, wenn das Tag für die neuen Daten nicht mit dem Tag für die vorhandenen Daten übereinstimmt. Wenn die Tags übereinstimmen, überschreibt der Set-Vorgang den vorhandenen Analysepunkt.

Verwenden Sie zum Abrufen des Analysepunkttags die FindFirstFile-Funktion . Wenn das dwFileAttributes-Element das attribut FILE_ATTRIBUTE_REPARSE_POINT enthält, gibt das dwReserved0-Element den Analysepunkt an.

Taginhalt

Analysetags werden als DWORD-Werte gespeichert. Die Bits definieren bestimmte Attribute, wie im folgenden Diagramm dargestellt.

   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        |
  +-+-+-+-+-----------------------+-------------------------------+

Die niedrigen 16 Bits bestimmen die Art des Analysepunkts. Die hohen 16 Bits verfügen über 12 Bits, die für die zukünftige Verwendung reserviert sind, und 4 Bits, die bestimmte Attribute der Tags und der durch den Analysepunkt dargestellten Daten bezeichnen. In der folgenden Tabelle werden diese Bits beschrieben.

bit BESCHREIBUNG
M Microsoft-Bit. Wenn dieses Bit festgelegt ist, ist das Tag im Besitz von Microsoft. Für alle anderen Tags muss für dieses Bit null verwendet werden.
R Reserviert; muss für alle Nicht-Microsoft-Tags null sein.
N Namensersatzbit. Wenn dieses Bit festgelegt ist, stellt die Datei oder das Verzeichnis eine andere benannte Entität im System dar.

Die folgenden Makros sind vorhanden, um das Testen von Tags zu unterstützen:

Jedes Makro gibt einen Ungleichwert zurück, wenn das zugeordnete Bit festgelegt ist.

Im Folgenden sind die vordefinierten Werte des Analysetags von Microsoft aufgeführt. sie sind in WinNT.h definiert:

  • 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

Um die Eindeutigkeit von Tags sicherzustellen, stellt Microsoft einen Mechanismus zum Verteilen neuer Tags bereit. Weitere Informationen finden Sie im IFS-Kit (Installable File System).