9/8/2008 Para as configurações de versão, essa função retorna o número de milissegundos desde que o dispositivo inicializado, excluindo qualquer tempo que o sistema foi suspenso. ObterContagemMarcaEscala começa em zero em inicializar e, em seguida, contagens Backup a partir daí.
Para configurações depuração, 180 segundos é subtraída do o número de milissegundos desde que o dispositivo inicializado. Isso permite codificar que usa ObterContagemMarcaEscala a ser facilmente testado para manipulação estouro correto.
DWORD GetTickCount(void);
Nenhum
O número de milissegundos indica sucesso.
A resolução de timer de sistema baseia-se na configuração a OEM. Verifique com o OEM para obter detalhes.
O tempo decorrido é armazenada como um DWORD valor. Portanto, o tempo será sobreposição para zero se o sistema é executar continuamente para 49.7 Days. Para as configurações de depuração, 180 segundos é subtraída para verificar para condições estouro em codificar que depende ObterContagemMarcaEscala. Se este codificar iniciado em 3 minutos do dispositivo de inicialização, ele terão uma condição estouro se ela for executada para uma determinada quantidade de tempo.
Note: |
|---|
| Você não deve usar ObterContagemMarcaEscala Para confidencial dos aplicativos. |
Ao utilizar a ObterContagemMarcaEscala, subtração é segura, mesmo se ocorreu a sobreposição e subtração sempre produz a diferença correta e o número de tiques relógio passados entre dois valores marcação. Comparar valores marcação diretamente não nem sempre lucro o correto resultados; Somente compare as diferenças. Certifique-se de que seu codificar pode serviço a diferença antes a segunda sobreposição, ou seja, antes outro transmitir 49.7 Days. Comparações, como o seguinte não é seguros.
#define DELTA_TICKS sample_tick_value
// initialized somewhere in the code
DWORD dwStartTick = GetTickCount();
DWORD dwEndTick = GetTickCount() + DELTA_TICKS;
// The following function fails on a rollover.
BOOL no_compare_tick_difference()
{
if ( GetTickCount() > dwEndTick )
return ( TRUE);
return (FALSE);
}
O seguinte mostra codificar como corretamente usar ObterContagemMarcaEscala Comparando as diferenças marcação. Este codificar manipula a situação de sobreposição.
BOOL compare_tick_difference()
{
if ( (GetTickCount() – dwStartTick) > DELTA_TICKS)
return ( TRUE);
return (FALSE);
}
Você pode usar o ObterContagemMarcaEscala função para tempo de duração de uma atividade como mostra o exemplo abaixo.
dwOldTime = GetTickCount();
DoSomething();
dwTimeElapsed = GetTickCount() – dwOldTime;
Sobre a plataforma STMicro, o tempo retornado por ObterContagemMarcaEscala Inclui uma flutuação tempo ~0.014%, que é por design. Isso converte para um retardo tempo de aproximadamente 1 segundo cada 2 horas.
| Header | winbase.h |
| Library | coredll.lib |
| Windows Embedded CE | Windows CE 1.0 and later |
| Windows Mobile | Windows Mobile Version 5.0 and later |
Reference
Time Functions
GetSystemTime
SetSystemTime
Other Resources
Timer Driver Reference