CBaseReferenceClock-Klasse

Die CBaseReferenceClock -Klasse implementiert eine Verweisuhr.
| Geschützte Membervariablen | Beschreibung |
|---|---|
| m _ pSchedule | CAMSchedule-Objekt, das Planungsaufgaben für die Uhr verarbeitet. |
| Geschützte Methoden | Beschreibung |
| ~CBaseReferenceClock | Destruktormethode. |
| Öffentliche Methoden | Beschreibung |
| CBaseReferenceClock | Konstruktormethode. |
| GetPrivateTime | Ruft die Echtzeit aus der Uhr ab. |
| SetTimeDelta | Passt die interne Uhrzeit an. |
| GetSchedule | Ruft einen Zeiger auf das Zeitplanungsobjekt der Uhr ab. |
| TriggerThread | Reaktiviert den Arbeitsthread, der die Planung verarbeitet. |
| IReferenceClock-Methoden | Beschreibung |
| Gettime | Ruft die aktuelle Verweiszeit ab. |
| AdviseTime | Erstellt eine einmalige Advise-Anforderung. |
| AdvisePeriodic | Erstellt eine regelmäßige Advise-Anforderung. |
| Unadvise | Entfernt eine ausstehende Advise-Anforderung. |
| IReferenceClockTimerControl-Methoden | Beschreibung |
| GetDefaultTimerResolution | Gibt die aktuelle Auflösung des Timers der Verweisuhr zurück. |
| SetDefaultTimerResolution | Legt die Auflösung des Zeitgebers der Verweisuhr fest. |
| Hilfsfunktionen | Beschreibung |
| ConvertToMilliseconds | Konvertiert eine Verweiszeit in Millisekunden. |
Hinweise
Diese Klasse implementiert eine Referenzuhr, die die Schnittstellen IReferenceClock und IReferenceClockTimerControl unterstützt. Wenn ein Filter eine Referenzuhr für das Filterdiagramm bereitstellen kann, z. B. durch Den Zugriff auf ein Hardwaregerät, kann er diese Klasse verwenden, um die Uhr zu implementieren.
Das CBaseReferenceClock -Objekt verwaltet zwei unterschiedliche Zeitwerte:
- Intern gibt die CBaseReferenceClock::GetPrivateTime-Methode die tatsächliche Zeit zurück, die von der Uhr beibehalten wird.
- Extern gibt die CBaseReferenceClock::GetTime-Methode die Referenzzeit für das Filterdiagramm zurück.
Es ist gültig, dass die interne Uhr über kurze Zeiträume rückwärts ausgeführt wird. Wenn die Uhr beispielsweise vorwärts driftet, kann der Filter sie rückwärts anpassen. (Siehe CBaseReferenceClock::SetTimeDelta.) Die GetTime-Methode verwendet die von GetPrivateTime gemeldeten Zeitwerte. Die Bezugszeit nimmt jedoch monoton zu. anders ausgedrückt: Es wird nie rückwärts ausgeführt. Wenn die interne Uhr rückwärts ausgeführt wird, berichtet GetTime daher weiterhin die alte Zeit, bis die interne Uhr aufholt.
Beispielsweise können die beiden Methoden die folgenden Sequenzen zurückgeben:
GetPrivateTime: 105, 106, 103, 104, 105, 106, 107, 108
GetTime: 105, 106, 106, 106, 106, 106, 107, 108
Beim dritten Takt springt die interne Uhr zurück auf 103. Die GetTime-Methode berichtet weiterhin 106, bis die interne Uhr aufholt.
Standardmäßig gibt GetPrivateTime die Systemzeit über einen Aufruf der timeGetTime-Funktion zurück. Ein Filter, der eine Referenzuhr von einem externen Gerät an stellt, kann eine der folgenden Aufgaben anwenden:
- Überschreiben Sie GetPrivateTime, um die Zeit vom Gerät zurück zu geben.
- Überwachen Sie die Abweichung zwischen der Gerätezeit und der Systemzeit, und rufen Sie SetTimeDelta auf, um Korrekturen vorzunehmen.
Diese Klasse verwendet ein WEBCAMSchedule-Objekt, um die Planung von Advise-Anforderungen zu verarbeiten. Weitere Informationen finden Sie in der Dokumentation zur KLASSE "WEBCAMSchedule".
Anforderungen
| Anforderung | Wert |
|---|---|
| Header |
|
| Bibliothek |
|