CBaseReferenceClock, classe
La CBaseReferenceClock
classe implémente une horloge de référence.
Variables membres protégées | Description |
---|---|
m_pSchedule | Objet CAMSchedule qui gère la planification des tâches pour l’horloge. |
Méthodes protégées | Description |
~CBaseReferenceClock | Méthode de destructeur. |
Méthodes publiques | Description |
CBaseReferenceClock | Méthode constructeur. |
GetPrivateTime | Récupère le temps réel de l’horloge. |
SetTimeDelta | Ajuste l’heure interne de l’horloge. |
GetSchedule | Récupère un pointeur vers l’objet de planification de l’horloge. |
TriggerThread | Réveille le thread worker qui gère la planification. |
IReferenceClock, méthodes | Description |
GetTime | Récupère l’heure de référence actuelle. |
AdviseTime | Crée une demande de conseil à un coup. |
AdvisePeriodic | Crée une demande de conseil périodique. |
Annuler lavise | Supprime une demande de conseil en attente. |
Méthodes IReferenceClockTimerControl | Description |
GetDefaultTimerResolution | Retourne la résolution actuelle du minuteur de l’horloge de référence. |
SetDefaultTimerResolution | Définit la résolution du minuteur de l’horloge de référence. |
Fonctions d’assistance | Description |
ConvertToMillisecondes | Convertit une heure de référence en millisecondes. |
Remarques
Cette classe implémente une horloge de référence qui prend en charge les interfaces IReferenceClock etIReferenceClockTimerControl . Si un filtre peut fournir une horloge de référence pour le graphique de filtre par exemple, en accédant à un appareil matériel, il peut utiliser cette classe pour implémenter l’horloge.
L’objet CBaseReferenceClock
gère deux valeurs chronologiques distinctes :
- En interne, la méthode CBaseReferenceClock::GetPrivateTime retourne l’heure réelle conservée par l’horloge.
- En externe, la méthode CBaseReferenceClock::GetTime retourne l’heure de référence du graphique de filtre.
Il est valide pour que l’horloge interne s’exécute vers l’arrière sur de brèves périodes. Par exemple, si l’horloge dérive vers l’avant, le filtre peut l’ajuster vers l’arrière. (Voir CBaseReferenceClock::SetTimeDelta.) La méthode GetTime utilise les valeurs de temps signalées par GetPrivateTime. Toutefois, le temps de référence est monotoniquement croissant; en d’autres termes, il ne s’exécute jamais vers l’arrière. Par conséquent, si l’horloge interne s’exécute en arrière, GetTime continue de signaler l’ancienne heure jusqu’à ce que l’horloge interne rattrape.
Par exemple, les deux méthodes peuvent retourner les séquences suivantes :
GetPrivateTime: 105, 106, 103, 104, 105, 106, 107, 108
GetTime: 105, 106, 106, 106, 106, 106, 107, 108
Sur la troisième horloge, l’horloge interne passe à 103. La méthode GetTime continue de signaler 106 jusqu’à ce que l’horloge interne rattrape.
Par défaut, GetPrivateTime retourne l’heure système par le biais d’un appel à la fonction timeGetTime . Un filtre qui fournit une horloge de référence à partir d’un appareil externe peut effectuer l’une des opérations suivantes :
- Remplacez GetPrivateTime pour renvoyer l’heure de l’appareil.
- Surveillez l’écart entre l’heure de l’appareil et l’heure système et appelez SetTimeDelta pour apporter des corrections.
Cette classe utilise un objet CAMSchedule pour gérer la planification des demandes de conseil. Pour plus d’informations, consultez la documentation de la classe CAMSchedule .
Spécifications
Condition requise | Valeur |
---|---|
En-tête |
|
Bibliothèque |
|