Как я могу получить время в режиме ядра Windows?
Я знаю о KeQuerySystemTime (но это основано на 1601).
я нашел это решение.
LONGLONG FileTime_to_POSIX(FILETIME ft)
{
// takes the last modified date
LARGE_INTEGER date, adjust;
date.HighPart = ft.dwHighDateTime;
date.LowPart = ft.dwLowDateTime;
// 100-nanoseconds = milliseconds * 10000
adjust.QuadPart = 11644473600000 * 10000;
// removes the diff between 1970 and 1601
date.QuadPart -= adjust.QuadPart;
// converts back from 100-nanoseconds to seconds
return date.QuadPart / 10000000;
}
но это, кажется, неправильно, я проверил, и это было около 10 секунд неправильно
Задача ещё не решена.
Других решений пока нет …