Поделиться через


Функция обратного вызова GetTimeSysInfoFunc (timeprov.h)

Извлекает сведения о состоянии системного времени.

Синтаксис

GetTimeSysInfoFunc Gettimesysinfofunc;

HRESULT Gettimesysinfofunc(
  [in]  TimeSysInfo eInfo,
  [out] void *pvInfo
)
{...}

Параметры

[in] eInfo

Запрошенные сведения о состоянии. Этот параметр может принимать одно из указанных ниже значений.

Значение Значение
TSI_ClockPrecision
Параметр pvInfo — это значение со знаком __int32 , указывающее точность часов в log2 секунд.
TSI_ClockTickSize
Параметр pvInfo — это значение без знака __int64 , указывающее размер тактов часов в (10^-7) секундах.
TSI_CurrentTime
Параметр pvInfo — это значение без знака __int64 , указывающее текущее время в (10^-7) секундных интервалах, прошедших с 12:00 1 января 1601 г. в формате UTC.
TSI_LastSyncTime
Параметр pvInfo — это значение без знака __int64 , указывающее время последней синхронизации в интервалах (10^-7) секунд, которые прошли с 12:00 1 января 1601 г. в формате UTC.
TSI_LeapFlags
Параметр pvInfo — это значение BYTE , указывающее на предстоящее скачивание секунды или потерю синхронизации. Определяются следующие значения:
0 — без изменений
1 — добавление корректировочной секунды
2 — вычитание високосной секунды
3 . Не синхронизировано
TSI_PhaseOffset
Параметр pvInfo — это значение со знаком __int64 , указывающее смещение фазы, используемое для настройки часов в секундах.
TSI_PollInterval
Параметр pvInfo — это значение со знаком __int32 , указывающее интервал опроса в 2 секундах.
TSI_ReferenceIdentifier
Параметр pvInfo — это значение DWORD , указывающее идентификатор ссылки для источника времени в формате NTP (IP-адрес или четырехзначная строка ASCII, описывающая источник оборудования, например глобальная система позиционирования (GPS) или WWVB).
TSI_RootDelay
Параметр pvInfo — это значение со знаком __int64 , указывающее корень задержки в (10^-7) секундах.
TSI_RootDispersion
Параметр pvInfo — это значение без знака __int64 , указывающее корневую дисперсию в (10^-7) секундах.
TSI_Stratum
Параметр pvInfo — это значение BYTE , указывающее количество сетевых прыжков, отделяющих этот компьютер от корневого источника. Поставщики оборудования должны возвращать ноль. Поставщики NTP должны возвращать слой однорангового узла, предоставив пример.
TSI_TickCount
Параметр pvInfo — это значение без знака __int64 , указывающее количество тактов (количество миллисекунд с момента запуска системы). Это значение в конечном итоге будет оболочкой, поэтому его следует использовать только для сравнения коротких интервалов.
TSI_TSFlags
Параметр pvInfo — это значение DWORD , указывающее один из следующих флагов источника времени:
TSF_Authenticated
TSF_Hardware
TSF_IPv6

[out] pvInfo

Указатель на буфер, получающий сведения о состоянии. Формат этих данных зависит от значения eInfo.

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

Если функция выполнена успешно, возвращаемое значение будет S_OK. В противном случае возвращаемое значение является одним из кодов ошибок, определенных в WinError.h.

Комментарии

Чтобы обеспечить точность, поставщик времени должен извлекать все сведения, связанные со временем, с помощью GetTimeSysInfoFunc. Обратите внимание, что значения времени не должны использоваться непосредственно в NTP-пакете. Они выражаются относительно 12:00 1 января 1601 г., тогда как NTP указывает, что значения времени должны быть выражены относительно 12:00 1 января 1900 года.

Функция TimeProvOpen возвращает указатель на эту функцию.

Примеры

Пример см. в разделе Пример поставщика времени.

Требования

Требование Значение
Минимальная версия клиента Windows XP [только классические приложения]
Минимальная версия сервера Windows Server 2003 [только классические приложения]
Целевая платформа Windows
Header timeprov.h