Partilhar via


Criando um provedor de tempo

Um provedor de tempo é implementado como uma DLL. Cada DLL pode suportar vários provedores de tempo. Cada provedor é responsável por sua própria configuração e sincronização.

Os provedores de tempo devem implementar as seguintes funções de retorno de chamada:

Depois de carregar a DLL do provedor, o gerenciador do provedor de tempo chama TimeProvOpen, passando o nome do provedor e os ponteiros para as seguintes funções:

Essas funções são para uso pelo provedor de tempo. O provedor de tempo usa TimeProvOpen para retornar um identificador de provedor que o gerente de provedor de tempo usa ao enviar comandos para o provedor de tempo. O valor do handle é definido pelo provedor de tempo e é usado principalmente para distinguir entre diferentes provedores implementados na mesma DLL. O provedor de tempo pode registrar eventos significativos usando LogTimeProvEventFunc.

O gerenciador de provedor de tempo usa TimeProvCommand para enviar comandos para o provedor de tempo. Quando o provedor de tempo precisa notificar o gerente do provedor de tempo de que tem amostras de tempo disponíveis, ele chama AlertSamplesAvailFunc. Em seguida, o gerenciador do provedor de tempo chama TimeProvCommand com o comando TPC_GetSamples para recuperar as amostras de tempo. Pode levar até 16 segundos para que o gerente do provedor de tempo solicite a amostra. Portanto, o aplicativo não deve esperar pelo pedido.

Para garantir a precisão, o provedor de tempo deve recuperar todas as informações relacionadas ao tempo usando GetTimeSysInfoFunc.

Quando é hora de desligar o provedor de tempo, o gerente do provedor de tempo chama TimeProvClose.