2012-05-09 9 views
6

奇妙ここに質問 - しかし:「マシン・スリープ」+のWaitForSingleObject +有限タイムアウト

を私は20分のタイムアウトのミューテックス上のWaitForSingleObjectを使用している場合。その後、マシンはスリープモードに入ります(または休止状態になります)... 12時間後にスリープ状態になると、WaitForSingleObjectタイムアウトへの私の呼び出しは終了しますか?またはタイマーはマシンのスリープで中断しますか?

+0

多分この記事はhttp://www.flounder.com/time.htmに役立ちます – Andrew

答えて

1

Windows 7で5分間のタイムアウトと10分間のスリープをテストしただけです。私は無限の糸を待っていた。

サプライズ - WaitForSingleObjectは、マシンが起きた後にタイムアウトしました。

+0

いいえ、これは驚きではありません。この動作は、MSDNの説明とまったく同じです。 – Elmue

0

https://msdn.microsoft.com/en-us/library/windows/desktop/ms687032(v=vs.85).aspxによると、WaitForSingleObjectは低電力状態での処理時間はWindows 8からのみですが、Windows 7以降では上記のように動作するはずですが、Windows 8以降では呼び出しがタイムアウトします要求された時間だけシステムがアクティブに稼動している場合に限ります。

+0

英語に問題があるようです。 MSDNは、Windows 8と10の間違いを明示しています。「dwMillisecondsの値には、低電力状態での時間は含まれていません。たとえば、コンピュータがスリープ状態になってもタイムアウトがカウントダウンされません。 – Elmue