CSingleLock::Unlock
Releases the synchronization object owned by CSingleLock.
BOOL Unlock();
BOOL Unlock(
LONG lCount,
LPLONG lPrevCount = NULL
);
Parameters
lCount
Number of accesses to release. Must be greater than 0. If the specified amount would cause the object's count to exceed its maximum, the count is not changed and the function returns FALSE.lPrevCount
Points to a variable to receive the previous count of the synchronization object. If NULL, the previous count is not returned.
Return Value
Nonzero if the function was successful; otherwise 0.
Remarks
This function is called by CSingleLock's destructor.
When CSingleLock owns a CMutex object, you must use the first form of Unlock to successfully release the mutex object.
If you have to release more than one access count of a semaphore, use the second form of Unlock and specify the number of accesses to release.
Example
// m_Mutex is a data member (of type CMutex)
// of an existing class that implements the resource being shared.
// Relate the synchronization object (m_Mutex) with
// our CSingleLock object.
CSingleLock singleLock(&m_Mutex);
// Attempt to lock the shared resource
if (singleLock.Lock(100)) // Wait 100 ms...
{
// We were able to lock the resource;
// we may now work with the data associated with the mutex...
// Now that we are finished, unlock the resource for others.
singleLock.Unlock();
}
Requirements
Header: afxmt.h
See Also
Reference
Other Resources
Change History
Date |
History |
Reason |
---|---|---|
April 2009 |
Added mutex release information. |
Customer feedback. |