#ifndef _MUTEX_LOCK_H
#define _MUTEX_LOCK_H
///////////////////////////////////////////////////////////////////////////////
/*///////////////////////////////////////////////////////////////////////////* /
#if defined(__cplusplus)
extern "C" {
#endif
/*///////////////////////////////////////////////////////////////////////////*/
///////////////////////////////////////////////////////////////////////////////
#define WIN32_LEAN_AND_MEAN
#include <windows.h>
///////////////////////////////////////////////////////////////////////////////
class CMutexLock
{
public:
    CMutexLock();
	CMutexLock(char *szLockName);
	virtual ~CMutexLock();
	
public:
	void CreateLock(char *szLockName, BOOL bLock = FALSE);
	void DestroyLock();
	
	void Lock();
	void UnLock();


private:
	char m_szLockName[64];
    HANDLE m_hMutex;
	BOOL m_bLock;
};
/*///////////////////////////////////////////////////////////////////////////* /
#if defined(__cplusplus)
}
#endif
/*///////////////////////////////////////////////////////////////////////////*/
#endif //_MUTEX_LOCK_H