2025-04-27 07:49:33 -04:00

53 lines
1014 B
C++

#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