Да. Вы даже можете сделать это по локальной сети.
Транзакция CIFS - это TRANS2_QFSINFO
а уровень информации - SMB_QUERY_FS_VOLUME_INFO
. Родной функцией Windows NT API для запроса времени создания тома является ZwQueryVolumeInformationFile()
, которая выдает структуру данных FILE_FS_VOLUME_INFORMATION
(почти идентичную CIFS, обратите внимание), когда ее запрашивают для класса информации FileFsVolumeInformation
. Проверка того, что этот запрос работает, является частью тестера IFS, который Microsoft предоставляет разработчикам драйверов.
Интересно, что никто, кажется, не написал удобную утилиту, которая просто запрашивает том и печатает его метку времени создания в удобочитаемой форме. 1 Насколько я могу судить, самое близкое, что вы можете получить, - запустить инструмент procmon
от SysInternals и найти потоковые информационные запросы. Возможно, кто-то, читающий это, будет вдохновлен на создание расширенной команды vol
.
Да, метка времени создания тома правильно инициализирован, и не просто установить на ноль или какой - либо другой постоянной. Я не проверял, но мое обоснованное предположение о месте хранения этой информации - это атрибут $STANDARD_INFORMATION
записи $Volume
MFT. Я могу подумать о трех других возможных местах, но это самое логичное.
Утилите 1 grawity
просто нужно немного больше отшлифовать, включая простое использование FileTimeToSystemTime()
и GetTimeFormat()
, чтобы сделать ее пригодной для использования конечными пользователями, которые не могут декодировать временные метки Win32 в своих головах. ☺