Я пытаюсь выяснить, когда и как Windows обновляет время доступа к файлам для файлов.
Прежде всего, большинство установок Windows поставляются с отключенным временем доступа к файлу по соображениям производительности, поэтому перед тем, как обдумать это, вам нужно сделать, чтобы активировать время последнего доступа в файловых системах NTFS: измените значение ключа [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
имя NtfsDisableLastAccessUpdate
в DWORD 0
значение данных (если оно установлено в 1, конечно). Если его не существует, просто создайте его.
После прочтения статьи File Times на MSDN я все еще сомневаюсь в том, как Windows обновляет время доступа.
Мои вопросы следующие:
- Обновляется ли время доступа при выдаче WinApi
CreateFile()
с FILE_READ_ATTRIBUTES
? В моем случае, делая это программно, это не так. Открытие диалогового окна «Свойства файла» этого файла через оболочку обозревателя обновляет время доступа.
- Обновляется ли время доступа при выдаче WinApi
ExtractIconEx()
для чтения значка из файла?
В моем случае это делается программно, это не так. Открытие диалогового окна «Свойства файла» этого файла через оболочку обозревателя обновляет время доступа.
Если вы спросите меня, оба эти случая должны обновить время доступа к файлу, но мне кажется, что прямые вызовы WinApi не обновляют их, или драйвер Window / NTFS действительно отстает, а работа с файлами из Windows Explorer делает Обновление довольно хорошо. Как вы думаете, в чем здесь проблема?
Как примечание, я сделал до CloseHandle()
согласно:
Единственная гарантия на файл
отметка времени, что время файла
правильно отражается, когда ручка
это делает изменение закрыто.
Мой окончательный вывод заключается в том, что на самом деле мнения, лежащие в Интернете, верны, и Windows действительно обновляет Время доступа к файлам случайным образом, и, таким образом, на самом деле никоим образом не должно зависеть от времени доступа к файлам Windows.
Вне темы. Извините, ребята-криминалисты, вам придется доказать время доступа другим способом, или вы можете сделать ваше дело недействительным за считанные секунды. : P