Partager via


Fonction TimeProvCommand (timeprov.h)

Fonction de rappel appelée par le gestionnaire du fournisseur de temps pour envoyer des commandes au fournisseur de temps.

Syntaxe

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

Paramètres

[in] hTimeProv

Handle du fournisseur de temps. La fonction TimeProvOpen reçoit ce handle.

[in] eCmd

Commande à envoyer. Ce paramètre peut prendre les valeurs suivantes.

Commande Signification
TPC_GetSamples
Le fournisseur de temps doit retourner les échantillons de temps qu’il a collectés. S’il n’existe aucune donnée disponible, le fournisseur ne doit retourner aucun échantillon. Pour plus d’informations, consultez Remarques.

Le paramètre pvArgs est un pointeur vers une structure TpcGetSamplesArgs . Le gestionnaire du fournisseur de temps fournit la mémoire tampon pour les exemples. Si la mémoire tampon pvArgs est trop petite, le fournisseur doit fournir autant d’échantillons que possible et retourner ERROR_INSUFFICIENT_BUFFER. Tous les autres codes d’erreur retournés par le fournisseur sont ignorés.

TPC_NetTopoChange
La topologie réseau a changé. Les fournisseurs réseau doivent réétiser les paramètres réseau et vérifier qu’ils peuvent atteindre leurs sources.

Le paramètre pvArgs indique si la modification a été demandée par l’utilisateur (NTC_UserRequested) ou le système (NTC_Default).

TPC_Query
Réservé pour un usage futur.
TPC_PollIntervalChanged
L’intervalle d’interrogation a changé. Le fournisseur de temps doit appeler la fonction GetTimeSysInfo pour récupérer la nouvelle valeur.

Le paramètre pvArgs n’est pas utilisé. Toute erreur retournée par le fournisseur est ignorée.

TPC_Shutdown
Le système s’arrête. Le fournisseur de temps doit se quitter dans les cinq secondes.

Le paramètre pvArgs n’est pas utilisé.

TPC_TimeJumped
L’horloge système a été ajustée brusquement, de sorte que le fournisseur de temps doit ignorer tous les horodatages qu’il a enregistrés.

Le paramètre pvArgs indique si le saut de temps a été demandé par l’utilisateur (TJF_UserRequested) ou le système (TJF_Default).

TPC_UpdateConfig
Le fournisseur de temps doit vérifier si ses données de configuration spécifiques à l’application stockées dans le Registre ont changé.

Le paramètre pvArgs n’est pas utilisé. Toute erreur retournée par le fournisseur est ignorée.

[in] pvArgs

Pointeur vers une mémoire tampon qui spécifie les informations de commande. Le format de ces données dépend de la valeur d’eCmd.

Valeur retournée

Si la fonction réussit, la valeur de retour est S_OK. Sinon, la valeur de retour est l’un des codes d’erreur définis dans WinError.h.

Remarques

Le temps que le fournisseur ne doit jamais prendre plus d’une demi-seconde pour revenir de cet appel.

Lors du traitement de la commande TPC_GetSamples, le fournisseur doit retourner un exemple pour chaque source qu’il surveille. Par conséquent, un fournisseur de matériel doit retourner un exemple, tandis qu’un fournisseur réseau comme NTP peut retourner plusieurs exemples. Le fournisseur ne doit pas retourner plusieurs échantillons à partir d’une seule source ; il doit retourner le meilleur exemple de son cache d’exemples pour la source. Le fournisseur peut retourner le même exemple lors des appels suivants, à condition que les données n’ont pas changé.

Exemples

Pour obtenir un exemple, consultez Exemple de fournisseur de temps.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows XP [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2003 [applications de bureau uniquement]
Plateforme cible Windows
En-tête timeprov.h

Voir aussi

GetTimeSysInfoFunc

TimeProvOpen

TpcGetSamplesArgs