ドライブが初期化されたか、NTFSパーティションが作成されたかを判断するのに非常に役立つクライアントがあります。どこかにタイムスタンプ値がありますか?誰かが何かアドバイスをすることができれば、それは大歓迎です。
ありがとう!
-slashp
ドライブが初期化されたか、NTFSパーティションが作成されたかを判断するのに非常に役立つクライアントがあります。どこかにタイムスタンプ値がありますか?誰かが何かアドバイスをすることができれば、それは大歓迎です。
ありがとう!
-slashp
回答:
CIFSトランザクションはでTRANS2_QFSINFOあり、情報レベルはSMB_QUERY_FS_VOLUME_INFOです。ボリュームの作成時間を照会するためのネイティブWindows NT API関数はですZwQueryVolumeInformationFile()。これは、情報FILE_FS_VOLUME_INFORMATIONのFileFsVolumeInformationクラスを要求されたときにデータ構造(CIFSのものとほぼ同じ、注)を生成します。このクエリが機能することをテストすることは、Microsoftがドライバー開発者に提供するIFSテスターの一部です。
興味深いことに、ボリュームを照会してその作成タイムスタンプを人間が読める形式で出力するだけの便利なユーティリティを書いた人は誰もいないようです。1 私が知る限り、最も近いものは、SysInternalsのprocmonツールを起動し、ストリーミングするボリューム情報クエリを探すことです。おそらくこれを読んでいる人は、強化されたvolコマンドを作成することに触発されるでしょう。
はい、ボリューム作成タイムスタンプは適切に初期化されており、ゼロやその他の定数に設定されているだけではありません。私はチェックしていませんが、この情報の保管場所についての経験に基づいた推測$STANDARD_INFORMATIONは、$VolumeMFTエントリの属性です。私は他に3つの可能な場所を考えることができますが、それは最も論理的な場所です。
1grawityのユーティリティには、FileTimeToSystemTime()との単純な使用を含め、もう少し磨きをかけるだけGetTimeFormat()で、頭の中でWin32タイムスタンプをデコードできないエンドユーザーが使用できるようになります。☺
NTFSに組み込まれていることを知っている「ボリューム作成日」はありません。ただし、System Volume Informationボリュームのルートにあるディレクトリの作成日を調べることにより、作成日を非常に厳密に概算できるはずです。