Creazione di un provider di tempo
Un provider di tempo viene implementato come DLL. Ogni DLL può supportare più provider di tempo. Ogni provider è responsabile della propria configurazione e sincronizzazione.
I provider di tempo devono implementare le funzioni di callback seguenti:
Dopo aver caricato la DLL del provider, il gestore del provider di tempo chiama TimeProvOpen, passando il nome del provider e i puntatori alle funzioni seguenti:
Queste funzioni sono per l'uso da parte del provider di tempo. Il provider di tempo usa TimeProvOpen per restituire un handle del provider di servizi che il gestore del provider di tempo usa durante l'invio di comandi al provider di tempo. Il valore di handle è definito dal provider di tempo e viene usato principalmente per distinguere tra provider diversi implementati nella stessa DLL. Il provider di tempo può registrare eventi significativi usando LogTimeProvEventFunc.
Il gestore del provider di tempo usa TimeProvCommand per inviare comandi al provider di tempo. Quando il provider di tempo deve notificare al gestore del provider di tempo che dispone di esempi di tempo disponibili, chiama AlertSamplesAvailFunc. Il gestore del provider di tempo chiama quindi TimeProvCommand con il comando TPC_GetSamples per recuperare gli esempi di tempo. Può richiedere fino a 16 secondi per il gestore provider di tempo per richiedere l'esempio. Pertanto, l'applicazione non deve attendere la richiesta.
Per garantire l'accuratezza, il provider di tempo deve recuperare tutte le informazioni correlate al tempo usando GetTimeSysInfoFunc.
Quando è il momento di arrestare il provider di tempo, il gestore del provider di tempo chiama TimeProvClose.