MSDN说
如果函数失败,则返回值为WAIT_FAILED.要获取扩展错误信息,请调用GetLastError.
代码是:
HANDLE m_mutex_handle; /**< m_mutex_handle. The handle to the created mutex. */ m_mutex_handle = ::CreateMutex( 0, false, NULL ); ::WaitForSingleObject( m_mutex_handle, INFINITE );
但是可能发生的原因是什么?
如果您缺少对象的SYNCHRONIZE特权,那么您不能等待.WAIT_FAILED将被退回.