Compartilhar via


GetTickCount

Windows Mobile SupportedWindows Embedded CE Supported

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.

Syntax

DWORD GetTickCount(void);

Parameters

Nenhum

Return Value

O número de milissegundos indica sucesso.

Remarks

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.

Observação

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.

Requirements

Header winbase.h
Library coredll.lib
Windows Embedded CE Windows CE 1.0 and later
Windows Mobile Windows Mobile Version 5.0 and later

See Also

Reference

Time Functions
GetSystemTime
SetSystemTime

Other Resources

Timer Driver Reference