質問:
外部クロック同期がオフになっているマシンで、クロックを通常の速度にリセットするにはどうすればよいですか? SetSystemTimeAdjustment関数の timeAdjustment パラメータを何に設定すればよいですか?
説明:
私の目標は、クロックが常に進むように、何千ものマシン間でクロックを同期させることです。何らかの理由でクロックを戻す必要がある場合、クロック レートが遅くなります。
私のワークステーションは、関数getSystemTimeAdjustmentでフェッチされた非常に異なる timeAdjustment 値を示していることがわかりました。155854 (# of 100ns) を取得することもあれば、156002 を取得することもあり、他の値を取得することもあります。はい、15.60ms に対して 15.58ms であることはわかっていますが、それでも問題は解決しません。これまでのところ、私のワークステーションのクロック調整を担当している人 (ドメイン コントローラ?) が、他の多くの物理的要因に依存するクロック ドリフトに従ってこれらの値を設定していると推測されます。
ドメイン コントローラーに接続されておらず、インターネット タイム サーバーとの同期が無効になっているマシンで、10 分あたりの秒数で測定されたクロックのドリフトを観察していました。PC クロックに関する Jeff の記事を読んだ後 、このようなドリフトは珍しいことではないと思いました。全て。
ドリフトが一定である場合、クロック レートを変更する前の値を復元できますが (これは適切な概算です)、クロック ドリフトは一定ではありません。
主にC#でコーディング。C++ での回答も受け付けます。