Erstellen eines Zeitanbieters
Ein Zeitanbieter wird als DLL implementiert. Jede DLL kann mehrere Zeitanbieter unterstützen. Jeder Anbieter ist für seine eigene Konfiguration und Synchronisierung verantwortlich.
Zeitanbieter müssen die folgenden Rückruffunktionen implementieren:
Nachdem die Anbieter-DLL geladen wurde, ruft der Zeitanbieter-Manager TimeProvOpen auf und übergibt den Namen des Anbieters und zeiger auf die folgenden Funktionen:
Diese Funktionen werden vom Zeitanbieter verwendet. Der Zeitanbieter verwendet TimeProvOpen , um ein Anbieterhandle zurückzugeben, das der Zeitanbieter-Manager beim Senden von Befehlen an den Zeitanbieter verwendet. Der Handle-Wert wird vom Zeitanbieter definiert und hauptsächlich verwendet, um zwischen verschiedenen Anbietern zu unterscheiden, die in derselben DLL implementiert sind. Der Zeitanbieter kann wichtige Ereignisse mithilfe von LogTimeProvEventFunc protokollieren.
Der Zeitanbieter-Manager verwendet TimeProvCommand , um Befehle an den Zeitanbieter zu senden. Wenn der Zeitanbieter den Zeitanbieter-Manager benachrichtigen muss, dass Zeitbeispiele verfügbar sind, ruft er AlertSamplesAvailFunc auf. Der Zeitanbieter-Manager ruft dann TimeProvCommand mit dem Befehl TPC_GetSamples auf, um die Zeitbeispiele abzurufen. Es kann bis zu 16 Sekunden dauern, bis der Zeitanbieter-Manager das Beispiel angibt. Daher sollte die Anwendung nicht auf die Anforderung warten.
Um die Genauigkeit sicherzustellen, sollte der Zeitanbieter alle zeitbezogenen Informationen mithilfe von GetTimeSysInfoFunc abrufen.
Wenn der Zeitanbieter heruntergefahren werden soll, ruft der Zeitanbieter-Manager TimeProvClose auf.