You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
531 B
26 lines
531 B
#ifndef __CRWLOCK_HPP__
|
|
#define __CRWLOCK_HPP__
|
|
|
|
namespace CertSrv
|
|
{
|
|
|
|
// Wrapper class for NTRTL's single writer multiple reader
|
|
//
|
|
// !!! NTRTL can throw exceptions. Make sure you code handles them correctly.
|
|
|
|
class CReadWriteLock
|
|
{
|
|
public:
|
|
CReadWriteLock();
|
|
~CReadWriteLock();
|
|
|
|
void GetExclusive(); // get write lock
|
|
void GetShared(); // get read lock
|
|
void Release();
|
|
|
|
private:
|
|
RTL_RESOURCE m_RtlLock;
|
|
|
|
};// end CReadWriteLock
|
|
} // end namespace Certsrv
|
|
#endif // __CRWLOCK_HPP__
|