ポイント タグの再解析

各再解析ポイントには識別子タグが付いているため、再解析ポイント内のユーザー定義データを調べることなく、さまざまな種類の再解析ポイントを効率的に区別できます。 システムでは、一連の定義済みタグと、Microsoft 用に予約されたタグの範囲が使用されます。 再解析ポイントを設定するときに予約済みタグのいずれかを使用すると、操作は失敗します。 これらの範囲に含まれていないタグは予約されておらず、アプリケーションで使用できます。

再解析ポイントを設定するときは、再解析ポイントに配置するデータにタグを付ける必要があります。 再解析ポイントが確立されると、新しいデータのタグが既存のデータのタグと一致しない場合、新しいセット操作は失敗します。 タグが一致する場合、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 ビットがあります。 次の表では、これらのビットについて説明します。

ビット 説明
M Microsoft bit。 このビットが設定されている場合、タグは 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) キットを参照してください。