13 #pragma managed( push, off )    89             else if ( !
Wait( dwTime ) ) {
    91                 if ( INFINITE == dwTime ) {
   124             else if ( 0 == ::ReleaseMutex( 
m_hObject ) ) {
   154             wchar_t szBuffer[ MAX_PATH ];
   155             if ( 
nullptr != pszObjectName ) {
   157                 ::wcscpy_s( szBuffer, pszObjectName );
   159                 pszObjectName = szBuffer;
   163             m_hObject = ::CreateMutexW( 
nullptr, 
false, pszObjectName );
   169             else if ( ERROR_ALREADY_EXISTS != ::GetLastError() ) {
   189             if ( 
nullptr == pszObjectName ) {
   200             wchar_t szBuffer[ MAX_PATH ];
   201             ::wcscpy_s( szBuffer, pszObjectName );
   203             pszObjectName = szBuffer;
   206             m_hObject = ::OpenMutexW( MUTEX_ALL_ACCESS, 
false, pszObjectName );
   225 #pragma managed( pop ) virtual void Close() noexcept
クローズ関数 
#define NotifyFatalError()
致命的エラー発生通知マクロ 
DWORD m_dwLockCount
ロックカウント 
virtual bool Unlock() noexcept override
ロック解除関数 
virtual bool Wait(DWORD dwTime=INFINITE) noexcept
ウェイト関数 
virtual bool Create(wchar_t const *pszObjectName=nullptr) noexcept
作成関数 
virtual bool Lock(DWORD dwTime=INFINITE) noexcept override
ロック関数 
HANDLE m_hObject
オブジェクトハンドル 
virtual bool Release() noexcept override
リリース関数 
virtual ~CMutex() noexcept
デストラクタ 
virtual void Close() noexcept override
クローズ関数 
virtual bool Open(wchar_t const *pszObjectName) noexcept
オープン関数 
static wchar_t const *const OBJECT_NAME_EXT
オブジェクト名拡張子