再解析ポイントとファイル操作

再解析ポイント を使用すると、ほとんどの Windows 開発者が慣れている可能性のある動作から逸脱したファイル システムの動作が可能になります。したがって、ファイルを操作するアプリケーションを記述する際にこれらの動作を認識することは、再解析ポイントをサポートするファイル システムにアクセスすることを意図した堅牢で信頼性の高いアプリケーションにとって不可欠です。 これらの考慮事項の範囲は、特定の再解析ポイントの特定の実装と関連するファイル システム フィルター動作によって異なります。これはユーザー定義できます。 詳細については、「ポイントの 再解析」を参照してください。

マウントされたフォルダー、リンクされたファイル、Microsoft Remote Storage Server など、NTFS 再解析ポイントの実装に関する次の例を考えてみましょう。

  • ファイル ストリームを使用するバックアップ アプリケーションでは、再解析ポイントを使用してファイルをバックアップするときに、WIN32_STREAM_ID構造にBACKUP_REPARSE_DATAを指定する必要があります。
  • CreateFile 関数を使用するアプリケーションでは、ファイルを開くときにFILE_FLAG_OPEN_REPARSE_POINT フラグを指定する必要があります (再解析ポイントの場合)。 詳細については、「 ファイルの作成と開き方」を参照してください。
  • ファイルを最適化するプロセスでは、再解析ポイントに対する特別な処理が必要です。
  • ウイルス検出アプリケーションは、リンクされたファイルを示す再解析ポイントを検索する必要があります。
  • ほとんどのアプリケーションは、ファイルの取得に時間がかかる可能性があることをユーザーに通知する場合にのみ、長期ストレージに移動されたファイルに対して特別なアクションを実行する必要があります。
  • OpenFileById 関数は、FILE_FLAG_OPEN_REPARSE_POINT フラグの使用に応じて、ファイルまたは再解析ポイントを開きます。
  • シンボリック リンクは、再解析ポイントとして、それらに固有の 特定のプログラミング上の考慮事項 を持っています。
  • 更新シーケンス番号 (USN) 変更ジャーナル・レコードを読み取るためのボリューム管理活動では、 USN_RECORDおよびREAD_USN_JOURNAL_DATA 構造を使用する場合、再解析ポイントに特別な処理 必要です。

ディレクトリがマウントされたフォルダーかどうかの判断

マウントされたフォルダーの作成

ファイル システム関数に対するシンボリック リンク効果