#ifndef _CSEM_H #define _CSEM_H /*****************************************************************************\ * Class CriticalSection - Header file * * Copyright (C) 1998 Microsoft Corporation * * History: * Jun 10, 1998, Weihai Chen (weihaic) * \*****************************************************************************/ class CCriticalSection { public: CCriticalSection (void); virtual ~CCriticalSection (void); inline BOOL bValid () CONST { return m_bValid;}; BOOL Lock (void) const; BOOL Unlock (void) const; private: CRITICAL_SECTION m_csec; BOOL m_bValid; }; typedef class CCriticalSection TCriticalSection; class TAutoCriticalSection { public: TAutoCriticalSection ( CONST TCriticalSection & refCrit); ~TAutoCriticalSection (VOID); BOOL bValid (VOID); private: BOOL m_bValid; const TCriticalSection &m_pCritSec; }; #endif