Création d’un fournisseur de temps
Un fournisseur de temps est implémenté en tant que DLL. Chaque DLL peut prendre en charge plusieurs fournisseurs de temps. Chaque fournisseur est responsable de sa propre configuration et synchronisation.
Les fournisseurs de temps doivent implémenter les fonctions de rappel suivantes :
Une fois qu’il a chargé la DLL du fournisseur, le gestionnaire du fournisseur de temps appelle TimeProvOpen, en passant le nom du fournisseur et les pointeurs vers les fonctions suivantes :
Ces fonctions sont destinées au fournisseur de temps. Le fournisseur de temps utilise TimeProvOpen pour retourner un handle de fournisseur que le gestionnaire du fournisseur de temps utilise lors de l’envoi de commandes au fournisseur de temps. La valeur handle est définie par le fournisseur de temps et est principalement utilisée pour faire la distinction entre différents fournisseurs implémentés dans la même DLL. Le fournisseur de temps peut consigner des événements significatifs à l’aide de LogTimeProvEventFunc.
Le gestionnaire du fournisseur de temps utilise TimeProvCommand pour envoyer des commandes au fournisseur de temps. Lorsque le fournisseur de temps doit informer le gestionnaire du fournisseur de temps qu’il dispose d’exemples de temps disponibles, il appelle AlertSamplesAvailFunc. Le gestionnaire du fournisseur de temps appelle ensuite TimeProvCommand avec la commande TPC_GetSamples pour récupérer les exemples de temps. La demande de l’exemple peut prendre jusqu’à 16 secondes. Par conséquent, l’application ne doit pas attendre la demande.
Pour garantir l’exactitude, le fournisseur de temps doit récupérer toutes les informations relatives au temps à l’aide de GetTimeSysInfoFunc.
Lorsqu’il est temps d’arrêter le fournisseur de temps, le gestionnaire du fournisseur de temps appelle TimeProvClose.