39 lines
885 B
C++
39 lines
885 B
C++
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
//
|
|
// Microsoft WMI OLE DB Provider
|
|
// (C) Copyright 1999 Microsoft Corporation. All Rights Reserved.
|
|
//
|
|
// Generic class which encapsulates CCriticalSection class
|
|
//
|
|
//////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
#ifndef _AUTOBLOC_H_
|
|
#define _AUTOBLOC_H_
|
|
|
|
class CAutoBlock
|
|
{
|
|
private:
|
|
CCriticalSection *m_pCriticalSection;
|
|
|
|
public:
|
|
CAutoBlock(CCriticalSection *pCriticalSection);
|
|
~CAutoBlock();
|
|
};
|
|
|
|
inline CAutoBlock::CAutoBlock(CCriticalSection *pCriticalSection)
|
|
{
|
|
m_pCriticalSection = NULL;
|
|
if(pCriticalSection)
|
|
pCriticalSection->Enter();
|
|
|
|
m_pCriticalSection = pCriticalSection;
|
|
}
|
|
|
|
inline CAutoBlock::~CAutoBlock()
|
|
{
|
|
if(m_pCriticalSection)
|
|
m_pCriticalSection->Leave();
|
|
|
|
}
|
|
|
|
|
|
#endif // _AUTOBLOC_H_
|