Share via


timeBeginPeriod 函式 (timeapi.h)

timeBeginPeriod 函式會要求定期定時器的最低解析度。

語法

MMRESULT timeBeginPeriod(
  UINT uPeriod
);

參數

uPeriod

應用程式或設備驅動器的定時器解析度下限,以毫秒為單位。 較低的值會指定較高的 (更精確的) 解析度。

傳回值

如果成功或TIMERR_NOCANDO uPeriod 中指定的解析度超出範圍,則傳回TIMERR_NOERROR

備註

在使用定時器服務之前立即呼叫此函式,並在您使用定時器服務完成之後立即呼叫 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)
程式庫 Winmm.lib
Dll Winmm.dll

另請參閱

多媒體定時器函式

多媒體定時器