CSemaphore( LONG lInitialCount = 1, LONG lMaxCount = 1, LPCTSTR pstrName = NULL, LPSECURITY_ATTRIBUTES lpsaAttributes = NULL );
Parameters
lInitialCount
The initial usage count for the semaphore. Must be greater than or equal to 0, and less than or equal to lMaxCount.
lMaxCount
The maximum usage count for the semaphore. Must be greater than 0.
pstrName
The name of the semaphore. Must be supplied if the semaphore will be accessed across process boundaries. If NULL, the object will be unnamed. If the name matches an existing semaphore, the constructor builds a new CSemaphore object which references the semaphore of that name. If the name matches an existing synchronization object that is not a semaphore, the construction will fail.
lpsaAttributes
Security attributes for the semaphore object. For a full description of this structure, see SECURITY_ATTRIBUTES in the Win32 Programmer’s Reference.
Remarks
Constructs a named or unnamed CSemaphore object. To access or release a CSemaphore object, create a CMultiLock or CSingleLock object and call its Lock and Unlock member functions.
CSemaphore Overview | Class Members | Hierarchy Chart
See Also CMutex, CEvent, CMultiLock, CSingleLock