汚い方法や厄介な方法を行わなければ、これは SE_BACKUP_NAME を使用してもユーザーモードからは許可されないと思います。
私が汚いと厄介だと思うもの:
- どのプロセスがハンドルを所有しているかを把握し、そのプロセスで実行してハンドルを閉じるコードを記述します。
- MFT/FAT テーブルの読み取り/解析
- カーネル ドライバーの使用
汚い方法や厄介な方法を行わなければ、これは SE_BACKUP_NAME を使用してもユーザーモードからは許可されないと思います。
私が汚いと厄介だと思うもの:
はい、方法はありますが、ニーズに合わない場合があります。汚くも厄介でもありませんが、重いです。つまり、コーディングが簡単ではなく、単一のファイルを読み取ろうとしているだけの場合は、システムの負荷が不均衡になります。
ただし、これを行う必要がある場合は、これが私が知っている唯一の合理的で安全なソリューションです。ボリュームシャドウコピーサービスのMSDNドキュメントを参照してください。
現在、ほとんどのバックアップソフトウェアはVSSを使用しています。