SetSystemTimeAdjustment
The SetSystemTimeAdjustment
function tells the system to enable or disable periodic time adjustments to its
time of day clock. Such time adjustments are used to synchronize the time of
day with some other source of time information. When periodic time adjustments
are enabled, they are applied at each clock interrupt.
BOOL SetSystemTimeAdjustment(
DWORD dwTimeAdjustment, |
// size, in
100-nanosecond units, of a periodic time adjustment |
BOOL bTimeAdjustmentDisabled |
// whether periodic
time adjustment is to be disabled or enabled |
); |
|
Parameters
dwTimeAdjustment
Specifies the
number of 100-nanosecond units added to the time-of-day clock at each clock
interrupt if periodic time adjustment is enabled.
bTimeAdjustmentDisabled
Specifies the
time adjustment mode that the system is to use. Periodic system time adjustments
can be disabled or enabled.
A value of
TRUE specifies that periodic time adjustment is to be disabled. The system is
free to adjust time of day using its own internal mechanisms. The value of dwTimeAdjustment
is ignored. The system s internal adjustment mechanisms may cause the
time-of-day clock to jump noticeably when adjustments are made.
A value of
FALSE specifies that periodic time adjustment is to be enabled, and will be
used to adjust the time-of-day clock. The system will not interfere with the time
adjustment scheme, and will not attempt to synchronize time of day on its own.
The system will add the value of dwTimeAdjustment to the time of day at
each clock interrupt.
Return Values
If the function
succeeds, the return value is nonzero.
If the function
fails, the return value is zero. To get extended error information, call GetLastError
Remarks
The GetSystemTimeAdjustment
The SetSystemTimeAdjustment
function supports two modes of time synchronization: time-adjustment - disabled and time-adjustment - enabled.
In the first
mode, bTimeAdjustmentDisabled is set to FALSE. At each clock interrupt, the system adds the
value of dwTimeAdjustment to the time of day. The clock interrupt rate
may be determined by calling GetSystemTimeAdjustment, and looking at the
returned value of the DWORD value pointed to by lpTimeIncrement.
In the second
mode, bTimeAdjustmentDisabled is set to TRUE. At each clock interrupt, the system adds the
interval between clock interrupts to the time of day. No adjustment to that
interval is made. The system is free to periodically refresh the time-of-day
clock using other techniques. Such other techniques may cause the time-of-day
clock to jump noticeably when adjustments are made.
An
application must have system-time privilege (the SE_SYSTEMTIME_NAME privilege)
for this function to succeed. The SE_SYSTEMTIME_NAME privilege is disabled by
default. Use the AdjustTokenPrivileges function to enable the privilege
before calling SetSystemTimeAdjustment, and then to disable the
privilege after the SetSystemTimeAdjustment call.
See Also