- classlib.zip
- classlibsamples.zip
- samplesexe.zip
- ADO.exe
- Browser.exe
- Colorpicker.exe
- CRC.exe
- DynamicDialog.exe
- FastFind.exe
- FileDirTree.exe
- Hash.exe
- InfoBar.exe
- LayoutEngine.exe
- MDI.exe
- MRU.exe
- MultiMon.exe
- PanelBar.exe
- XPControls.exe
- XPMenu.exe
- samples.zip
- Browser.exe
- Colorpicker.exe
- CRC.exe
- DynamicDialog.exe
- FastFind.exe
- FileDirTree.exe
- Hash.exe
- InfoBar.exe
- LayoutEngine.exe
- MDI.exe
- MRU.exe
- MultiMon.exe
- XPMenu.exe
- classes.zip
- Classes
- ALL.H
- application.cpp
- application.h
- ClassHierarchy.txt
- ClassLib.dsp
- ClassLib.dsw
- ClassLib.sln
- ClassLib.suo
- ClassLib.vcproj
- Collectors
- Coords
- Exceptions
- GDI
- History.txt
- IO
- Layout
- LIB6
- LIB7
- Menus
- Samples
- Colorpicker
- CRC
- DynamicDialog
- FastFind
- FileDirTree
- Hash
- InfoBar
- LayoutEngine
- MDI
- MRU
- MultiMon
- XPMenu
- Shell
- STANDARD.H
- Strings
- Threads
- TODO.TXT
- Tools
- Windows
|
#ifndef _SEMAPHORE_H_
#define _SEMAPHORE_H_
//
// semaphore.h
//
// (C) Copyright 2002 Jan van den Baard.
// All Rights Reserved.
//
#include "syncobject.h"
// Semaphore handle wrapper.
class ClsSemaphore : public ClsSyncObject
{
_NO_COPY( ClsSemaphore );
public:
// Contruction.
ClsSemaphore( LONG lInitialCount = 1, LONG lMaximumCount = 1, LPCTSTR pszName = NULL, LPSECURITY_ATTRIBUTES lpAttributes = NULL )
{
// Create the handle.
m_hHandle = ::CreateSemaphore( lpAttributes, lInitialCount, lMaximumCount, pszName );
_ASSERT_VALID( m_hHandle );
}
// Destruction.
virtual ~ClsSemaphore()
{
}
// Lock the event handle.
inline virtual BOOL Unlock() { _ASSERT_VALID( m_hHandle ); return ::ReleaseSemaphore( m_hHandle, 1, NULL ); }
inline virtual BOOL Lock() { return FALSE; }
};
#endif // _SEMAPHORE_H_
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
I have been programming for a hobby since 1985. I have started programming on the C= 64. After that I migrated to the C= Amiga which I traded in for a PC back in 1997 I believe. Back in 2000 I decided to lose a hobby and start developing software for a living.
Currently I am working mainly in developing software for building security and access control systems.