Поделиться через


Написание функции обратного вызова для таймера

Функция, связанная с этой страницей, мультимедийные таймеры, является устаревшей. Он был заменен службой планировщика класса мультимедиа . служба планировщика классов мультимедиа оптимизирована для Windows 10 и Windows 11. Если возможно, корпорация Майкрософт настоятельно рекомендует, чтобы вновь написанный код использовал службу планировщика мультимедийных классов вместо мультимедийных таймеров. Корпорация Майкрософт предлагает, что существующий код, использующий устаревшие API, будет перезаписан для использования новых API, если это возможно.]

Заметка

В этом разделе описывается устаревшая функция. Новые приложения должны использовать функцию CreateTimerQueueTimer для создания таймеров.

 

Следующая функция обратного вызова «OneShotTimer» делает недействительным идентификатор для события единичного таймера и вызывает функцию таймера для обработки задач, специфичных для приложения. Дополнительные сведения см. в разделе TimeProc.

void CALLBACK OneShotTimer(UINT wTimerID, UINT msg, 
    DWORD dwUser, DWORD dw1, DWORD dw2) 
{ 
    NPSEQ npSeq;             // pointer to sequencer data 
    npSeq = (NPSEQ)dwUser;
    npSeq->wTimerID = 0;     // invalidate timer ID (no longer in use)
    TimerRoutine(npSeq);     // handle tasks 
} 

Использование мультимедийных таймеров