Megosztás a következőn keresztül:


Pontcímkék újraelemzése

Minden újraelemzési pont rendelkezik azonosítócímkével, így hatékonyan megkülönböztetheti a különböző típusú újraelemzési pontokat anélkül, hogy meg kellene vizsgálnia a felhasználó által definiált adatokat az újraelemzési ponton. A rendszer előre definiált címkéket és a Microsoft számára fenntartott címkéket használ. Ha a fenntartott címkék bármelyikét használja az újraelemzési pont beállításakor, a művelet meghiúsul. Az ezekben a tartományokban nem szereplő címkék nincsenek fenntartva, és elérhetők az alkalmazás számára.

Az újraelemzési pont beállításakor fel kell címkéznie az újraelemzési pontba helyezni kívánt adatokat. Az újraelemzési pont létrehozása után egy új halmazművelet meghiúsul, ha az új adatok címkéje nem felel meg a meglévő adatok címkéjének. Ha a címkék egyeznek, a beállított művelet felülírja a meglévő újraelemzési pontot.

Az újraelemzési pontcímke lekéréséhez használja a FindFirstFile függvényt. Ha a dwFileAttributes tag tartalmazza a FILE_ATTRIBUTE_REPARSE_POINT attribútumot, akkor a dwReserved0 tag adja meg az újraelemzési pontot.

Tartalom címkézése

Az újraelemzési címkék DWORD értékekként vannak tárolva. A bitek definiálnak bizonyos attribútumokat, ahogy az az alábbi ábrán is látható.

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

Az alacsony 16 bit határozza meg az újraelemzési pontot. A magas 16 bit 12 bittel rendelkezik a jövőbeni használatra, és 4 bittel, amelyek a címkék és az újraelemzési pont által képviselt adatok adott attribútumait jelölik. Az alábbi táblázat ezeket a biteket ismerteti.

Bit Leírás
M Microsoft bit. Ha ez a bit be van állítva, a címke a Microsoft tulajdonában van. Ehhez a bithez minden más címkének nullát kell használnia.
R Tartózkodó; minden nem Microsoft-címkénél nullának kell lennie.
N Név helyettesítő bit. Ha ez a bit be van állítva, a fájl vagy könyvtár a rendszer egy másik elnevezett entitását jelöli.

A címkék teszteléséhez a következő makrók állnak rendelkezésre:

Minden makró nem nulla értéket ad vissza, ha a társított bit be van állítva.

Az alábbiak a Microsoft előre definiált újraelemzési címkéi; ezek a WinNT.h-ban vannak definiálva:

  • 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

A címkék egyediségének biztosítása érdekében a Microsoft egy mechanizmust biztosít az új címkék terjesztésére. További információ: Telepíthető fájlrendszer (IFS) készlet.