CSemaphore::CSemaphore

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 OverviewClass MembersHierarchy Chart

See Also   CMutex, CEvent, CMultiLock, CSingleLock