再解析ポイントの仕組み
再解析ポイントの処理は、ファイルシステム・ドライバーの一部であるファイルシステム・フィルタードライバー、ファイルシステム・ミニフィルタードライバー(この2つは実装方法の違いである。以下、両者を合わせてフィルタードライバーとする)で処理される。
フィルタードライバーを使うのは、処理を高速化するためだ。フィルタードライバはカーネルモードで動作するコンポーネントで、ファイルシステムを実現しているIOデバイス・ドライバーとファイルシステム・ドライバーの間に入って処理する。
ファイルシステムにパスが渡されたとき、ファイルシステムドライバーがこれを処理し、最終的には、ドライブなどのハードウェアをアクセスする。このとき、パスの中に再解析ポイントを持つファイルやディレクトリがあると、そのタグに対応するフィルタードライバーが処理する。
再解析ポイントを属性に持つファイルやディレクトリを作成する場合も、フィルタードライバがこれをする。実際には、cmd.exeのmklinkコマンドなどが、フィルタードライバーに対して指示を出している。一般的に再解析ポイントを使った機能を使うには、そのためのプログラムが必要である。
再解析ポイントを使ってなんらかの機能を実装する場合、再解析タグの割り当てと再解析データの定義、フィルタードライバの開発の必要がある。サードパーティーやユーザーレベルでも、再解析ポイントを使って、ファイルシステムに機能を追加することは可能だ。
しかし、フィルタードライバーの開発にはカーネルのプログラミングやドライバー自体に電子署名が必要であることなどから、安易に選択できる方法ではない。なお、Microsoftはサードパーティー向けに再解析タグが衝突しないように割り当てをしうる手続きを定めている。
再解析ポイントは、WindowsでNTFS(およびReFS)上で、リンクなどさまざまな機能を実現するために使われている。最大の特徴は、ファイルシステムドライバーにあるフィルタードライバーで処理されるため、高速かつ、アプリケーションに対して、処理が透過的である点だ。ただし、アプリケーションはファイルやディレクトリに再解析ポイントが設定されているかどうかを調べることは可能だ。

この連載の記事
-
第472回
PC
WindowsのエラーをMicrosoftに送信するテレメトリ機能を理解する -
第471回
PC
Windowsのコマンドラインでエイリアスを使う -
第470回
PC
Windows用のパッケージマネージャー「Winget」 プレビュー版で機能が充実してきた -
第469回
PC
Windows Updateの27年 悪役だった頃から改良が進んで、徐々に目立たない存在に -
第468回
PC
2025年のWindowsどうなる!? Windows Insider Programの状況をあらためて見る -
第467回
PC
Copilot+ PCのNPUでカメラを処理する「Windows Studio Effects」 その内容や効果は? -
第466回
PC
PowerToysの最近の新機能には、複数アプリを指定位置に起動する「ワークスペース」や新規作成のカスタマイズがある -
第465回
PC
WindowsのPowerShellからBluetoothデバイスを調べる -
第464回
PC
Windows 10のサポート切れまで1年を切った さてWindows 10マシンをどうする? -
第463回
PC
Windows Terminal Preview版でSixelグラフィックスを実際に表示させてみる -
第462回
PC
Windows Terminal Preview版でSixelグラフィックスを扱う - この連載の一覧へ