创建时间提供程序

时间提供程序作为 DLL 实现。 每个 DLL 可以支持多个时间提供程序。 每个提供程序负责自己的配置和同步。

时间提供程序必须实现以下回调函数:

加载提供程序 DLL 后,时间提供程序管理器调用 TimeProvOpen,将提供程序的名称和指针传递给以下函数:

这些函数供时间提供程序使用。 时间提供程序使用 TimeProvOpen 返回提供程序句柄,时间提供程序管理器在向时间提供程序发送命令时使用该句柄。 句柄值由时间提供程序定义,主要用于区分在同一 DLL 中实现的不同提供程序。 时间提供程序可以使用 LogTimeProvEventFunc 记录重要事件。

时间提供程序管理器使用 TimeProvCommand 将命令发送到时间提供程序。 当时间提供程序需要通知时间提供程序管理器有可用的时间样本时,它会调用 AlertSamplesAvailFunc。 然后,时间提供程序管理器使用 TPC_GetSamples 命令调用 TimeProvCommand 来检索时间样本。 时间提供程序管理器最多可能需要 16 秒来请求示例。 因此,应用程序不应等待请求。

为了确保准确性,时间提供程序应使用 GetTimeSysInfoFunc 检索所有与时间相关的信息。

当需要关闭时间提供程序时,时间提供程序管理器将调用 TimeProvClose