Структура FILETIME - 64-битовое значение, представляющее число интервалов по 100 наносекунд с 1 января 1601 (универсальное глобальное время (UTC)).
typedef struct _FILETIME { DWORD dwLowDateTime; DWORD dwHighDateTime; } FILETIME, *PFILETIME; |
Младшая часть файлового времени.
dwHighDateTimeСтаршая часть файлового времени.
Чтобы преобразовать структуру FILETIME во время, которое легко показать на экране для пользователя, используйте функцию FileTimeToSystemTime.
Не рекомендуется, чтобы Вы добавляли и вычитали значения из структуры FILETIME, чтобы получить относительное время. Вместо этого Вы должны:
То есть, Вы должны скопировать нижнюю и старшую части файлового времени в структуру ULARGE_INTEGER, выполнить 64-битовую арифметическую операцию в члене структуры QuadPart и скопировать члены структуры LowPart и HighPart в структуру FILETIME.
Не приводите указатель на структуру FILETIME, или на ULARGE_INTEGER*, или на значение __ int64* , потому что это может вызвать ошибки выравнивания в 64-битовом Windows.
Не все файловые системы могут сделать запись создания и времени последнего доступа к файлу, и не все файловые системы делают запись их в той же самой манере. Например, в NT FAT у времени создания разрешающая способность 10 миллисекунд, у времени записи разрешающая способность 2 секунды, а у времени доступа разрешающая способность 1 день (фактически дата доступа. На NTFS у времени доступа разрешающая способность 1 час. Поэтому, функция GetFileTime, возможно, не сможет возвратить ту же самую информацию о файловом времени, при использовании функции SetFileTime. Кроме того, FAT делает запись времени на диске в формате местного времени. Однако, NTFS делает запись времени на диске в универсальном глобальном времени (UTC). Для получения дополнительной информации, см. статью Файловое время.
Обзор Время (операционной системы), Структуры, используемые для времени, CompareFileTime, FileTimeToSystemTime, GetFileTime, ULARGE_INTEGER
Размещение и совместимость FILETIME | ||
К | Windows Vista | Да |
л | Windows XP | Да |
и | Windows 2000 Professional | Да |
е | Windows NT Workstation | Да версии 3.5 и выше |
н | Windows Me | Да |
т | Windows 98 | Да |
Windows 95 | Да | |
С | Windows Server 2008 | Да |
е | Windows Server 2003 | Да |
р | Windows 2000 Server | Да |
в | Windows NT Server | Да версии 3.5 и выше |
е | ||
р | ||
Используемая библиотека | - | |
Используемая DLL | - | |
Заголовочный файл | ||
- объявлено в | Winbase.h | |
- включено в | Windows.h | |
Unicode | Нет | |
Замечания по платформе | Не имеется |