Função timeBeginPeriod (timeapi.h)

A função timeBeginPeriod solicita uma resolução mínima para temporizadores periódicos.

Sintaxe

MMRESULT timeBeginPeriod(
  UINT uPeriod
);

Parâmetros

uPeriod

Resolução mínima do temporizador, em milissegundos, para o driver de aplicativo ou dispositivo. Um valor mais baixo especifica uma resolução mais alta (mais precisa).

Retornar valor

Retorna TIMERR_NOERROR se tiver êxito ou TIMERR_NOCANDO se a resolução especificada em uPeriod estiver fora do intervalo.

Comentários

Chame essa função imediatamente antes de usar serviços de temporizador e chame a função timeEndPeriod imediatamente após terminar de usar os serviços de temporizador.

Você deve corresponder cada chamada a timeBeginPeriod com uma chamada para timeEndPeriod, especificando a mesma resolução mínima em ambas as chamadas. Um aplicativo pode fazer várias chamadas timeBeginPeriod desde que cada chamada seja correspondida com uma chamada para timeEndPeriod.

Antes de Windows 10, versão 2004, essa função afeta uma configuração global do Windows. Para todos os processos, o Windows usa o valor mais baixo (ou seja, a resolução mais alta) solicitado por qualquer processo. A partir do Windows 10, versão 2004, essa função não afeta mais a resolução do temporizador global. Para processos que chamam essa função, o Windows usa o valor mais baixo (ou seja, a resolução mais alta) solicitado por qualquer processo. Para processos que não chamaram essa função, o Windows não garante uma resolução maior do que a resolução do sistema padrão.

Começando com Windows 11, se um processo proprietário de janela se tornar totalmente acessível, minimizado ou invisível ou inaudível para o usuário final, o Windows não garantirá uma resolução mais alta do que a resolução padrão do sistema. Consulte SetProcessInformation para obter mais informações sobre esse comportamento.

Definir uma resolução mais alta pode melhorar a precisão dos intervalos de tempo limite em funções de espera. No entanto, ele também pode reduzir o desempenho geral do sistema, pois o agendador de thread alterna tarefas com mais frequência. Altas resoluções também podem impedir que o sistema de gerenciamento de energia da CPU insira modos de economia de energia. Definir uma resolução mais alta não melhora a precisão do contador de desempenho de alta resolução.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho timeapi.h (inclua Windows.h)
Biblioteca Winmm.lib
DLL Winmm.dll

Confira também

Funções de temporizador multimídia

Temporizadores multimídia