00001 /******************************************************************** 00002 Copyright (c) 2001, Lee Patterson & Ant Works Software 00003 http://ssobjects.sourceforge.net 00004 00005 Original source from Win32 Multithreaded Programming 00006 Copyright (c) 1997 by Aaron Michael Cohen and Mike Woodring 00007 00008 filename : mclmutex.h 00009 author : Lee Patterson (lee@antws.com) 00010 *********************************************************************/ 00011 00012 #ifndef __CMCLMUTEX_H__ 00013 #define __CMCLMUTEX_H__ 00014 00015 //#include "CMclGlobal.h" 00016 //#include "CMclKernel.h" 00017 00018 #include "msdefs.h" 00019 00020 namespace ssobjects 00021 { 00022 00023 class CMclMutex : public CMclKernel 00024 { 00025 public: 00026 // constructors create a mutex object... 00027 CMclMutex( BOOL bInitialOwner = FALSE, LPCTSTR lpName = NULL, LPSECURITY_ATTRIBUTES lpMutexAttributes = NULL); 00028 00029 // constructor opens an existing named mutex... 00030 // you must check the status after using this constructor, 00031 // it will NOT throw an error exception if the object cannot be opened... 00032 CMclMutex( LPCTSTR lpName, BOOL bInheritHandle = FALSE, DWORD dwDesiredAccess = MUTEX_ALL_ACCESS); 00033 00034 // release a lock on a mutex... 00035 BOOL Release(void); 00036 }; 00037 00038 }; // namespace 00039 00040 #endif 00041