Funções de temporização do Windows 7: Noções básicas sobre GetSystemTimeAdjustment
Como você observou, os resultados do uso da função GetSystemTimeAdjustment no Windows 7 podem ser intrigantes. Para entender melhor, vamos responder às suas perguntas:
Pergunta 1: Correção da suposição
Sua suposição geralmente está correta. Se a hora do sistema for sincronizada periodicamente, você esperaria nenhuma alteração ou alterações em múltiplos do incremento obtido de GetSystemTimeAdjustment.
Pergunta 2: Motivo da discrepância
O A discrepância que você encontrou se deve ao fato de que a granularidade da hora do sistema fornecida por GetSystemTimeAsFileTime nem sempre pode estar alinhada com o intervalo de atualização real relatado por GetSystemTimeAdjustment.
Explicação:
GetSystemTimeAsFileTime fornece acesso ao relógio de parede do sistema em unidades de 100ns. No entanto, a taxa real de atualização da hora do sistema pode variar dependendo dos fatores de hardware e das configurações da interface do temporizador multimídia.
No seu caso, NtQueryTimerResolution está relatando um período de atualização de aproximadamente 25 µs, enquanto GetSystemTimeAdjustment indica um ajuste de 15,6ms. Isso sugere que a hora do sistema está sendo atualizada com mais frequência do que realmente sincronizada.
Implicações:
Isso significa que as alterações observadas em seu loop de carimbo de data/hora não são apenas devido ao ajuste de tempo que está sendo aplicado. Em vez disso, eles refletem as atualizações subjacentes à hora do sistema, que ocorrem com uma frequência mais alta.
Abordagem recomendada:
Em vez de confiar em GetSystemTimeAdjustment para um tempo preciso, considere usando NtQueryTimerResolution para determinar o intervalo de atualização real da hora do sistema. Isso fornecerá uma representação mais precisa do comportamento de temporização do sistema.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3