どして
HANDLE mutexHandle = INVALID_HANDLE_VALUE;
WaitForSingleObject(mutexHandle, INFINITE);
ブロック?エラーメッセージは返されません。INVALID_HANDLEミューテックスハンドルにアクセスするにはミューテックスが必要になるため、ハンドルをチェックするのはミューテックスにとってばかげています...
ところで:WAIT_FAILEDハンドルが閉じられた場合、それは戻ります。
どして
HANDLE mutexHandle = INVALID_HANDLE_VALUE;
WaitForSingleObject(mutexHandle, INFINITE);
ブロック?エラーメッセージは返されません。INVALID_HANDLEミューテックスハンドルにアクセスするにはミューテックスが必要になるため、ハンドルをチェックするのはミューテックスにとってばかげています...
ところで:WAIT_FAILEDハンドルが閉じられた場合、それは戻ります。
http://blogs.msdn.com/oldnewthing/archive/2004/03/02/82639.aspxから:
第4に、値には特に注意する必要があり
INVALID_HANDLE_VALUEます。偶然にも、値INVALID_HANDLE_VALUEは、によって返される疑似ハンドルと数値的に等しくなりGetCurrentProcess()ます。WaitForSingleObject多くのカーネル関数は疑似ハンドルを受け入れるため、たとえば、失敗したハンドルを台無しにして誤って呼び出した場合、INVALID_HANDLE_VALUE実際には自分のプロセスを待つことになります。もちろん、この待機は決して完了しません。プロセスが終了すると通知されるため、自分で待機することになります。