Udostępnij za pośrednictwem


Funkcja GetTickCount resetuje się do zera po około 776 dniach

W tym artykule opisano problem polegający na tym, że wartość zwracana przez GetTickCount resetuje się do zero po około 776 dniach.

Objawy

Czas zwracany przez funkcję GetTickCount jest resetowany z 0x9FFFFFF0 do zero , jeśli system działa stale przez około 776 dni.

Ten problem występuje w aplikacjach 32-bitowych działających w systemach Windows 8, Windows Server 2012 i nowszych.

Status

Firma Microsoft potwierdziła, że ten problem został rozwiązany w systemie Windows 11 w wersji 24H2 i Windows Server 2025.

Rozwiązanie

Zamiast tego użyj funkcji GetTickCount64 .

Więcej informacji

Ten problem nie jest związany z zachowaniem opisanym w dokumentacji funkcji GetTickCount , gdzie czas zawija się od 0xFFFFFFFF do zero , jeśli system działa stale przez 49,7 dni.

Liczba dni przed wystąpieniem tego problemu może się różnić w zależności od rozwiązania czasomierza systemowego. Problem występuje po około 776 dniach w systemach, których rozdzielczość czasomierza systemu wynosi 15,6 milisekund.