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


Функция TimeProvCommand (timeprov.h)

Функция обратного вызова, вызываемая диспетчером поставщика времени для отправки команд поставщику времени.

Синтаксис

HRESULT TimeProvCommand(
  [in] TimeProvHandle hTimeProv,
  [in] TimeProvCmd    eCmd,
  [in] TimeProvArgs   pvArgs
);

Параметры

[in] hTimeProv

Дескриптор поставщика времени. Функция TimeProvOpen получает этот дескриптор.

[in] eCmd

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

Get-Help Значение
TPC_GetSamples
Поставщик времени должен вернуть собранные образцы времени. Если доступных данных нет, поставщик не должен возвращать выборки. Дополнительные сведения см. в разделе Комментарии.

Параметр pvArgs является указателем на структуру TpcGetSamplesArgs . Диспетчер поставщика времени предоставляет буфер для примеров. Если буфер pvArgs слишком мал, поставщик должен предоставить как можно больше выборок и возвратить ERROR_INSUFFICIENT_BUFFER. Любые другие коды ошибок, возвращаемые поставщиком, игнорируются.

TPC_NetTopoChange
Топология сети изменилась. Сетевые поставщики должны пересмотреть параметры сети и убедиться, что они могут получить доступ к своим источникам.

Параметр pvArgs указывает, было ли изменение запрошено пользователем (NTC_UserRequested) или системой (NTC_Default).

TPC_Query
Зарезервировано для последующего использования.
TPC_PollIntervalChanged
Интервал опроса изменился. Поставщик времени должен вызвать функцию GetTimeSysInfo , чтобы получить новое значение.

Параметр pvArgs не используется. Любая ошибка, возвращаемая поставщиком, игнорируется.

TPC_Shutdown
Система завершает работу. Поставщик времени должен выйти в течение пяти секунд.

Параметр pvArgs не используется.

TPC_TimeJumped
Системные часы были настроены внезапно, поэтому поставщик времени должен отменить все сохраненные метки времени.

Параметр pvArgs указывает, был ли скачок времени запрошен пользователем (TJF_UserRequested) или системой (TJF_Default).

TPC_UpdateConfig
Поставщик времени должен проверить, изменились ли данные конфигурации конкретного приложения, хранящиеся в реестре.

Параметр pvArgs не используется. Любая ошибка, возвращаемая поставщиком, игнорируется.

[in] pvArgs

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

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

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

Комментарии

Поставщик времени никогда не должен занимать больше половины секунды, чтобы вернуться из этого вызова.

При обработке команды TPC_GetSamples поставщик должен вернуть по одному образцу для каждого отслеживаемого источника. Таким образом, поставщик оборудования должен возвращать один образец, в то время как поставщик сети, например NTP, может возвращать несколько выборок. Поставщик не должен возвращать несколько выборок из одного источника; он должен возвращать лучший образец из своего кэша примеров для источника. Поставщик может возвращать тот же образец при последующих вызовах при условии, что данные не были изменены.

Примеры

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

Требования

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

См. также раздел

GetTimeSysInfoFunc

TimeProvOpen

TpcGetSamplesArgs