GetSystemTimeAdjustment 関数 (sysinfoapi.h)
システムが時刻の時刻に定期的な時間調整を適用しているかどうかを判断し、そのような調整の値と期間を取得します。
構文
BOOL GetSystemTimeAdjustment(
[out] PDWORD lpTimeAdjustment,
[out] PDWORD lpTimeIncrement,
[out] PBOOL lpTimeAdjustmentDisabled
);
パラメーター
[out] lpTimeAdjustment
関数が lpTimeIncrement 100 ナノ秒単位の数に設定する変数へのポインター。 この値は、 lpTimeAdjustmentDisabled が FALSE の場合にのみ意味があります。
[out] lpTimeIncrement
システムが時刻クロックに lpTimeAdjustment を追加する 100 ナノ秒単位の間隔に関数が設定する変数へのポインター。 この値は、 lpTimeAdjustmentDisabled が FALSE の場合にのみ意味があります。
[out] lpTimeAdjustmentDisabled
定期的な時間調整が有効かどうかを示すために関数が設定する変数へのポインター。
値 TRUE は、定期的な時刻調整が無効になっており、システムの時刻の時刻が通常のレートで進むことを示します。 このモードでは、システムは独自の内部時刻同期メカニズムを使用して時刻を調整できます。 これらの内部時刻同期メカニズムにより、システム操作の通常の実行中に時刻の時刻が変化する可能性があります。これには、システムが必要と見なす顕著な時間のジャンプが含まれる可能性があります。
FALSE の値は、時刻の調整に定期的な時刻調整が使用されていることを示します。 実際に経過する lpTimeIncrement 期間ごとに、 lpTimeAdjustment が時刻に追加されます。 lpTimeAdjustment の値が lpTimeIncrement より小さい場合、システムの時刻クロックは通常よりも遅い速度で進みます。 lpTimeAdjustment の値が lpTimeIncrement より大きい場合、時刻クロックは通常よりも速い速度で進みます。 lpTimeAdjustment が lpTimeIncrement と等しい場合、時刻の時刻は通常の速度で進みます。 lpTimeAdjustment 値は、SetSystemTimeAdjustment を呼び出すことによって設定できます。 lpTimeIncrement 値は起動時にシステムによって固定され、システム操作中は変更されません。 このモードでは、システムは時刻調整スキームに干渉せず、他の手法を使用して時刻を単独で同期しようとしません。
戻り値
関数が成功すると、戻り値は 0 以外になります。
関数が失敗した場合は、0 を返します。 詳細なエラー情報を得るには、GetLastError を呼び出します。
解説
GetSystemTimeAdjustment 関数と SetSystemTimeAdjustment 関数を使用すると、定期的な時間調整を使用して、GetSystemTime とGetLocalTime によって報告された時刻クロックを別のタイム ソースと同期するアルゴリズムをサポートできます。
GetSystemTimeAdjustment 関数を使用すると、呼び出し元は定期的な時間調整が有効になっているかどうかを判断し、有効な場合は、各調整の量と調整の間隔を取得できます。 SetSystemTimeAdjustment 関数を使用すると、呼び出し元は定期的な時間調整を有効または無効にし、調整インクリメントの値を設定できます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | sysinfoapi.h (Windows.h を含む) |
Library | Kernel32.lib |
[DLL] | Kernel32.dll |