Функция SetSystemTimeAdjustment

Функция SetSystemTimeAdjustment включает или отключает периодические корректировки времени часов времени дня системы. Такие корректировки времени используются, чтобы синхронизировать время дня с некоторым другим источником информации о времени. Когда периодические корректировки времени включены, они применяются при каждом прерывании часов.

Синтаксис

BOOL SetSystemTimeAdjustment(
  DWORD dwTimeAdjustment,
  BOOL bTimeAdjustmentDisabled
);

Параметры

dwTimeAdjustment

[in] Число 100 наносекундных блоков добавленных ко времени дня, которая синхронизируется при каждом прерывании часов, если периодическая корректировка времени включена.

bTimeAdjustmentDisabled

[in] Метод корректировки времени, который должна использовать система. Периодические корректировки системного времени может быть разрешены или запрещены.

Значение TRUE указывает, что периодическая корректировка времени должна блокироваться. Система свободно настраивает время дня, используя свои собственные внутренние механизмы. Значение dwTimeAdjustment игнорируется. Внутренние механизмы корректировки системы могут заставить часы времени дня перепрыгивать заметно, когда делаются корректировки.

Значение FALSE указывает на то, что периодическая корректировка времени должна быть включена и должна использоваться для настройки часов времени дня. Система не будет сталкиваться со схемой корректировки времени, и не будет пытаться синхронизировать время дня самостоятельно. Система добавит значение dwTimeAdjustment ко времени дня при каждом прерывании часов.

Возвращаемые значения

Если функция завершается успешно, возвращаемое значение - не нуль.

Если функция завершается ошибкой, возвращаемое значение - нуль. Чтобы получить дополнительную информацию об ошибке, вызовите GetLastError. Одним словом, функция может завершиться ошибкой, если вызывающая программа не обладает правом доступа SE_SYSTEMTIME_NAME.

Замечания

Функции GetSystemTimeAdjustment и SetSystemTimeAdjustment поддерживают алгоритмы, которые синхронизируют часы времени дня, сообщаются через GetSystemTime и GetLocalTime с другим источником времени, использующими периодическую корректировку времени.

Функция SetSystemTimeAdjustment поддерживается двумя методами синхронизации времени: корректировка времени – отключена и корректировка времени – включена.

При первом методе параметр bTimeAdjustmentDisabled устанавливается в FALSE. При каждом прерывании часов система добавляет значение dwTimeAdjustment ко времени дня. Величина прерывания часов может быть определена при помощи вызова функции GetSystemTimeAdjustment и похоже на возвращаемое значение указанное при помощи lpTimeIncrement.

При втором методе параметр bTimeAdjustmentDisabled устанавливается в TRUE. При каждом прерывании часов система добавляет интервал между прерываниями часов ко времени дня. Никакой корректировки этого интервала не делается. Система свободна периодически обновлять часы времени дня, используя другие методы. Такие другие методы могут заставить часы времени дня переходить скачком, когда делаются корректировки.

У приложения должно быть право доступа к системному времени (право доступа SE_SYSTEMTIME_NAME) для этой функции, чтобы завершиться успешно. Привилегия SE_SYSTEMTIME_NAME блокируется по умолчанию. Используйте функцию AdjustTokenPrivileges, чтобы включить это право доступа, перед тем, как вызвать функцию SetSystemTimeAdjustment, а также отключить эту привилегию после вызова SetSystemTimeAdjustment. Для получения дополнительной информации, см. статью Запуск программы со специальными правами доступа (привилегиями).

Смотри также

Обзор Время (операционной системы), Функции, используемые для времени, AdjustTokenPrivileges, GetLocalTime, GetSystemTime, GetSystemTimeAdjustment

Размещение и совместимость SetSystemTimeAdjustment
К Windows Vista Да
л Windows XP Да
и Windows 2000 Professional Да
е Windows NT Workstation Да  версии 3.5 и выше
н Windows Me Да
т Windows 98 Да
  Windows 95 Да
 
С Windows Server 2008 Да
е Windows Server 2003 Да
р Windows 2000 Server Да
в Windows NT Server Да  версии 3.5 и выше
е    
р    
Используемая библиотека Kernel32.lib
Используемая DLL kernel32.dll
Заголовочный файл  
- объявлено в Winbase.h
- включено в Windows.h
Unicode Нет
Замечания по платформе Не имеется

 

Назад в оглавление
На главную страницу
На оглавление справки
24.01.2010 23:51 ©Copyright V. Sokovikov
Hosted by uCoz