[与此页面关联的功能(多媒体计时器)是一项旧功能。 它已被 多媒体类计划程序服务取代。 多媒体类计划程序服务 已针对 Windows 10 和 Windows 11 进行了优化。 Microsoft强烈建议新代码尽可能使用 多媒体类计划程序服务 而不是 多媒体计时器。 Microsoft建议重写使用旧 API 的现有代码,以尽可能使用新 API。]
建立应用程序的计时器解析后,可以使用 timeSetEvent 函数启动计时器事件。 此函数返回可用于停止或标识计时器事件的计时器标识符。 函数的参数之一是 TimeProc 回调函数的地址,该函数在计时器事件发生时调用。
有两种类型的计时器事件:单个 和 定期。 单个计时器事件在指定毫秒数后发生一次。 每次指定的毫秒数过时,都会发生定期计时器事件。 定期事件之间的间隔称为 事件延迟。 事件延迟为 10 毫秒或更少的定期计时器事件消耗大量 CPU 资源。
计时器事件解析与事件延迟长度之间的关系在计时器事件中非常重要。 例如,如果指定分辨率为 5 且事件延迟为 100,则计时器服务会在间隔范围为 95 到 105 毫秒的间隔后通知回调函数。
可以使用 timeKillEvent 函数随时取消活动计时器事件。 在释放包含回调函数的内存之前,请务必取消任何未完成的计时器。
注意
多媒体计时器在其自己的线程中运行。