Windows NT с самого начала поддерживала как подсистему Win32, так и подсистему POSIX. И в Win32, и в POSIX файлы имеют три отметки времени. Две из этих временных меток являются общими для Win32 и POSIX. В Win32 файлы имеют метки времени создания, последней записи и последнего доступа . POSIX имеет метки времени последнего изменения, последнего доступа и изменения I-узла .
Windows NT и NTFS для поддержки Win32 и POSIX предоставляют файлам четыре временные метки: «Создание», «Последняя запись / изменение», «Последний доступ» и «Последнее изменение».
В POSIX временная метка Измененного I-узла отражает время, когда что-то в I-узле - разрешения, владелец, группа и т.д. - изменяется. Windows NT устанавливает временную метку, даже если изменяемая вещь изменяется с Win32, поскольку (конечно) обе подсистемы имеют многоуровневую структуру по отношению к собственному API, когда речь идет о файлах.
Таким образом, изменение атрибутов файла - только для чтения, скрытого, системного, архивного, индексного, автономного и т.д. - с помощью SetFileAttributes
обновит его метку времени последнего изменения.
Он не меняет отметку времени последней записи, поскольку на нее влияют только изменения данных файла. Это изменения метаданных файла в записи I-узла /MFT, которые влияют на метку времени последнего изменения.
Каждая файловая система в Windows NT должна предоставлять эти четыре метки времени ядру. Это API, который должны реализовывать драйверы файловой системы.
Но не все файловые системы фактически определяют их в структурах данных на диске или определяют с той же степенью детализации, что и ядро Windows NT. Например, формат файловой системы FAT изначально имел только одну временную метку для каждого файла: свою метку времени последней записи. Драйвер файловой системы FAT в Windows NT и драйвер файловой системы FAT в DOS+Windows 95/98/ME использовали ранее запасные поля в записях каталога для хранения большего количества временных меток. Но не было места для всех четырех. На диске нет отметки времени последнего изменения; отметка времени последнего доступа имеет гранулярность 1 день; а отметки времени последней записи и создания имеют степень детализации 2 секунды.