ref : http://support.microsoft.com/kb/974281/en-us/
ref : http://support.microsoft.com/kb/974281/
这是 32-位长 timeSetEvent uDelay 参数的溢出。
即使您以毫秒为单位内部中功能设置 uDelay 参数它使用 100 纳秒为单位。 因此 429,496 毫秒 (4,294,960,000 = 0xFFFFE380) 的值是最大值。 这是大约 7 分钟,9 秒。 如果 uDelay 设 429,497 几乎立即会发生该事件。
如果我们检查这些值以十六进制,我们看到:
429,496(ms) * 10,000 = 4,294,960,000 (100ns) = 0xFFFFE380
429,497(ms) * 10,000 = 4,294,970,000 (100ns) = 0x00000a90
第二个值超出了限制,十六进制值进行计数再次重新启动。
仅当使用 TIME_PERIODIC 模式时,将发生此问题。
这篇文章中的信息适用于:
- Microsoft Windows XP Professional Edition
- Microsoft Windows XP Home Edition
- Microsoft Windows Server 2003, Enterprise x64 Edition
- Microsoft Windows Server 2003 Enterprise Edition
- Microsoft Windows Server 2003, Standard x64 Edition
- Microsoft Windows Server 2003 Standard Edition