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) 秒间隔为单位,自 1601 年 1 月 1 日凌晨 12:00 (UTC) 协调世界时。
TSI_LastSyncTime
pvInfo 参数是一个无符号__int64值,该值指定自 1601 年 1 月 1 日凌晨 12:00 (UTC) (10^-7) 秒间隔的上次同步时间。
TSI_LeapFlags
pvInfo 参数是一个 BYTE 值,该值指示即将发生的闰秒或同步丢失。 定义了以下值:
0 - 无更改
1 - 添加闰秒
2 - 减去闰秒
3 - 未同步
TSI_PhaseOffset
pvInfo 参数是一个有符号__int64值,该值指定用于调整时钟的相位偏移量(以秒为单位)。
TSI_PollInterval
pvInfo 参数是一个有符号__int32值,该值指定轮询间隔(以 log2 秒为单位)。
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 数据包中直接使用时间值。 它们相对于 1601 年 1 月 1 日凌晨 12:00 表示,而 NTP 指定时间值相对于 1900 年 1 月 1 日凌晨 12:00 表示。

TimeProvOpen 函数返回指向此函数的指针。

示例

有关示例,请参阅 示例时间提供程序

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 timeprov.h