Partilhar via


Iniciando um único evento de temporizador

[A funcionalidade associada a esta página, Multimedia Timers, é uma funcionalidade legada. Foi substituído pelo serviço de agendamento de classes multimédia Multimedia Class Scheduler Service. Multimedia Class Scheduler Service foi otimizado para Windows 10 e Windows 11. A Microsoft recomenda vivamente que o novo código utilize Multimedia Class Scheduler Service em vez de Multimedia Timers, sempre que possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

Observação

Este tópico descreve uma função obsoleta. Novos aplicativos devem usar a funçãoCreateTimerQueueTimer para criar temporizadores.

 

Para iniciar um único evento de temporizador, chame a função timeSetEvent, especificando a quantidade de tempo antes que o retorno de chamada ocorra, a resolução, o endereço da função de retorno de chamada (consulte TimeProc) e os dados do usuário a serem fornecidos com a função de retorno de chamada. Um aplicativo pode usar uma função como a seguinte para iniciar um único evento de temporizador.

UINT SetTimerCallback(NPSEQ npSeq,  // sequencer data
    UINT msInterval)                // event interval
{ 
    npSeq->wTimerID = timeSetEvent(
        msInterval,                    // delay
        wTimerRes,                     // resolution (global variable)
        OneShotCallback,               // callback function
        (DWORD)npSeq,                  // user data
        TIME_ONESHOT );                // single timer event
    if(! npSeq->wTimerID)
        return ERR_TIMER;
    else
        return ERR_NOERROR;
} 

Para obter um exemplo da função de retorno de chamada OneShotCallback, veja Como escrever uma função que atua como retorno de chamada de temporizador.

Usando temporizadores multimídia