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 |