2.2.15 W32TIME_CONFIGURATION_ADVANCED

The W32TIME_CONFIGURATION_ADVANCED structure defines the advanced configuration data of the time service.<13>

The structure is defined to match the advanced configuration of the W32Time implementation. Fields in the structure that are not valid in other implementations SHOULD have their corresponding configuration-setting type fields set to W32TIME_CONFIGURATION_SETTING_UNDEFINED. For more information on W32Time, see [WTSREF].

 typedef struct {
   unsigned __int32 ulSize;
   unsigned __int32 ulFrequencyCorrectRate;
   unsigned __int32 ulPollAdjustFactor;
   unsigned __int32 ulLargePhaseOffset;
   unsigned __int32 ulSpikeWatchPeriod;
   unsigned __int32 ulLocalClockDispersion;
   unsigned __int32 ulHoldPeriod;
   unsigned __int32 ulPhaseCorrectRate;
   unsigned __int32 ulUpdateInterval;
   unsigned __int32 ulFrequencyCorrectRateFlag;
   unsigned __int32 ulPollAdjustFactorFlag;
   unsigned __int32 ulLargePhaseOffsetFlag;
   unsigned __int32 ulSpikeWatchPeriodFlag;
   unsigned __int32 ulLocalClockDispersionFlag;
   unsigned __int32 ulHoldPeriodFlag;
   unsigned __int32 ulPhaseCorrectRateFlag;
   unsigned __int32 ulUpdateIntervalFlag;
 } W32TIME_CONFIGURATION_ADVANCED,
  *PW32TIME_CONFIGURATION_ADVANCED;

ulSize: The size, in bytes, of this structure.

ulFrequencyCorrectRate: The FrequencyCorrectRate element value (see section 3.2.1.1).

ulPollAdjustFactor: The PollAdjustFactor element value (see section 3.2.1.1).

ulLargePhaseOffset: An integer that indicates the threshold that determines whether or not a time sample indicates a spike, in 100-nanosecond units. If the time difference of the time sample is more than the value, the sample indicates a possible spike, in which case the time service changes its state, as specified in section 2.2.7. For more information on spike detection, see [NTP-TR9733i] and [NTP-TR9733] section 4.

ulSpikeWatchPeriod: An integer that indicates the time interval, in seconds, that determines how long the time service watches a spike condition. If time samples constantly indicate spikes in this time interval, the time service becomes unsynchronized, in which case the time service MUST change its state, as described in section 2.2.7. For more information on spike detection, see [NTP-TR9733i] and [NTP-TR9733] section 4.3.

ulLocalClockDispersion: An integer that indicates the local clock dispersion, in seconds. The root dispersion is set to this value if the time service runs as a primary server, or if the root dispersion is invalid in the received response. For details on dispersion and root dispersion, see [RFC1305] section 3.2.

ulHoldPeriod: An integer that indicates the number of time samples during which the spike detection is disabled when the time service is in the HOLD state, as specified in section 2.2.7. For more information on the HOLD state, see [NTP-TR9733i] and [NTP-TR9733] section 4.3.

ulPhaseCorrectRate: The PhaseCorrectRate element value (see section 3.2.1.1).

ulUpdateInterval: The UpdateInterval element value (see section 3.2.1.1).

ulFrequencyCorrectRateFlag: An integer that indicates the source of the configuration setting for ulFrequencyCorrectRate, as specified in section 2.2.6.

ulPollAdjustFactorFlag: An integer that indicates the source of the configuration setting for ulPollAdjustFactor, as specified in section 2.2.6.

ulLargePhaseOffsetFlag: An integer that indicates the source of the configuration setting for ulLargePhaseOffset, as specified in section 2.2.6.

ulSpikeWatchPeriodFlag: An integer that indicates the source of the configuration setting for ulSpikeWatchPeriod, as specified in section 2.2.6.

ulLocalClockDispersionFlag: An integer that indicates the source of the configuration setting for ulLocalClockDispersion, as specified in section 2.2.6.

ulHoldPeriodFlag: An integer that indicates the source of the configuration setting for ulHoldPeriod, as specified in section 2.2.6.

ulPhaseCorrectRateFlag: An integer that indicates the source of the configuration setting for ulPhaseCorrectRate, as specified in section 2.2.6.

ulUpdateIntervalFlag: An integer that indicates the source of the configuration setting for ulUpdateInterval, as specified in section 2.2.6.