Когда начинается отсчет "тиков" в системе? Мсдн утверждает, что якобы "The GetTickCount function retrieves the number of milliseconds that have elapsed since the system was started". Получаю системное время через NtQuerySystemInformation (SYSTEM_TIMEOFDAY_INFORMATION... sti.liKeSystemTime совпадает с полученным через GetSystemTimeAsFileTime. Вычитаю из него sti.liKeBootTime, и предполагаю, что получившийся лонглонг, деленный на 10000 (чтобы из 100*наносекунд получить миллисекунды) должен давать число тиков с момента старта системы. На деле же получается что (sti.liKeSystemTime-sti.liKeBootTime) == 0x4F0F372, а GetTickCount == 0x4EEFEF7, т.е. GetTickCount возвращает несколько меньшее число. Вопрос: так и должно быть или я что-то делаю неправильно? ЗЫ: NtQueryObject (OBJECT_BASIC_INFORMATION...) для ряда символьных ссылок возвращает время создания, более раннее, чем число тиков, т.е. получается, что часть объектов ядра создается до начала их отсчета.
ormoulu У меня разница в 1 тик, тоесть дельта равна 0x1F(счётчик тиков не линейный - это его квант): CurrentTime: 0xD886FA816 clc = 0x58B087 ms Ticks: 0x58B0A6 ms dT = 0x58B0A6 - 0x58B087 = 0x1F ms У вас тоже так должно быть, вы не правильно вычислили.