Operazioni sugli eventi timer

[La funzionalità associata a questa pagina, Timer multimediali, è una funzionalità legacy. È stato sostituito da Servizio utilità di pianificazione classi multimediali. servizio utilità di pianificazione classi multimediali è stato ottimizzato per Windows 10 e Windows 11. Microsoft consiglia vivamente di usare servizio Utilità di pianificazione classi multimediali anziché timer multimediali, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Dopo aver stabilito la risoluzione timer dell'applicazione, è possibile avviare gli eventi timer usando la funzione timeSetEvent. Questa funzione restituisce un identificatore timer che può essere usato per arrestare o identificare gli eventi timer. Uno dei parametri della funzione è l'indirizzo di un TimeProc funzione di callback chiamata quando si verifica l'evento timer.

Esistono due tipi di eventi timer: singolo e periodico. Un singolo evento timer si verifica una sola volta, dopo un numero specificato di millisecondi. Un evento timer periodico si verifica ogni volta che è trascorso un numero specificato di millisecondi. L'intervallo tra eventi periodici viene chiamato ritardo dell'evento . Gli eventi timer periodici con un ritardo di eventi di 10 millisecondi o meno utilizzano una parte significativa delle risorse della CPU.

La relazione tra la risoluzione di un evento timer e la lunghezza del ritardo dell'evento è importante negli eventi timer. Ad esempio, se si specifica una risoluzione pari a 5 e un ritardo di evento pari a 100, i servizi timer notificano la funzione di callback dopo un intervallo compreso tra 95 e 105 millisecondi.

È possibile annullare un evento timer attivo in qualsiasi momento usando la funzionetimeKillEvent. Assicurarsi di annullare eventuali timer in sospeso prima di liberare la memoria contenente la funzione di callback.

Nota

Il timer multimediale viene eseguito nel proprio thread.