timeBeginPeriod 函数 (timeapi.h)

timeBeginPeriod 函数请求定期计时器的最低分辨率。

语法

MMRESULT timeBeginPeriod(
  UINT uPeriod
);

参数

uPeriod

应用程序或设备驱动程序的最小计时器分辨率(以毫秒为单位)。 较小的值指定 (更准确的) 分辨率。

返回值

如果成功,则返回TIMERR_NOERROR;如果 uPeriod 中指定的分辨率在范围外,则返回TIMERR_NOCANDO

注解

在使用计时器服务之前立即调用此函数,并在使用完计时器服务后立即调用 timeEndPeriod 函数。

必须将对 timeBeginPeriod 的 每次调用与 对 timeEndPeriod 的调用匹配,并在两个调用中指定相同的最低分辨率。 只要每个调用都与 timeEndPeriod 的调用匹配,应用程序就可以进行多个 timeBeginPeriod 调用。

在 Windows 10 版本 2004 之前,此函数会影响全局 Windows 设置。 对于所有进程,Windows 使用最低值 (即,) 任何进程请求的最高分辨率。 从 Windows 10 版本 2004 开始,此函数不再影响全局计时器分辨率。 对于调用此函数的进程,Windows 使用最低值 (即任何进程请求的最高分辨率) 。 对于未调用此函数的进程,Windows 不保证比默认系统分辨率更高的分辨率。

从Windows 11开始,如果拥有窗口的进程完全被遮挡、最小化或最终用户看不见或听不见,Windows 不保证比默认系统分辨率更高的分辨率。 有关此行为的详细信息 ,请参阅 SetProcessInformation

设置更高的分辨率可以提高等待函数中超时间隔的准确性。 但是,它也可能会降低整体系统性能,因为线程计划程序更频繁地切换任务。 高分辨率还可以阻止 CPU 电源管理系统进入节能模式。 设置更高的分辨率不会提高高分辨率性能计数器的准确性。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 timeapi.h (包括 Windows.h)
Library Winmm.lib
DLL Winmm.dll

另请参阅

多媒体计时器函数

多媒体计时器