SRWLock Class
Represents a slim reader/writer lock.
Syntax
class SRWLock;
Remarks
A slim reader/writer lock is used to synchronize access across threads to an object or resource. For more information, see Synchronization Functions.
Members
Public Typedefs
Name | Description |
---|---|
SyncLockExclusive |
Synonym for an SRWLock object that is acquired in exclusive mode. |
SyncLockShared |
Synonym for an SRWLock object that is acquired in shared mode. |
Public Constructors
Name | Description |
---|---|
SRWLock::SRWLock | Initializes a new instance of the SRWLock class. |
SRWLock::~SRWLock | Deinitializes an instance of the SRWLock class. |
Public Methods
Name | Description |
---|---|
SRWLock::LockExclusive | Acquires an SRWLock object in exclusive mode. |
SRWLock::LockShared | Acquires an SRWLock object in shared mode. |
SRWLock::TryLockExclusive | Attempts to acquire a SRWLock object in exclusive mode for the current or specified SRWLock object. |
SRWLock::TryLockShared | Attempts to acquire a SRWLock object in shared mode for the current or specified SRWLock object. |
Protected Data Member
Name | Description |
---|---|
SRWLock::SRWLock_ | Contains the underlying lock variable for the current SRWLock object. |
Inheritance Hierarchy
SRWLock
Requirements
Header: corewrappers.h
Namespace: Microsoft::WRL::Wrappers
SRWLock::~SRWLock
Deinitializes an instance of the SRWLock
class.
~SRWLock();
SRWLock::LockExclusive
Acquires an SRWLock
object in exclusive mode.
SyncLockExclusive LockExclusive();
static SyncLockExclusive LockExclusive(
_In_ SRWLOCK* lock
);
Parameters
lock
Pointer to an SRWLock
object.
Return Value
An SRWLock
object in exclusive mode.
SRWLock::LockShared
Acquires an SRWLock
object in shared mode.
SyncLockShared LockShared();
static SyncLockShared LockShared(
_In_ SRWLOCK* lock
);
Parameters
lock
Pointer to an SRWLock
object.
Return Value
An SRWLock
object in shared mode.
SRWLock::SRWLock
Initializes a new instance of the SRWLock
class.
SRWLock();
SRWLock::SRWLock_
Contains the underlying lock variable for the current SRWLock
object.
SRWLOCK SRWLock_;
SRWLock::TryLockExclusive
Attempts to acquire a SRWLock
object in exclusive mode for the current or specified SRWLock
object. If the call is successful, the calling thread takes ownership of the lock.
SyncLockExclusive TryLockExclusive();
static SyncLockExclusive TryLockExclusive(
_In_ SRWLOCK* lock
);
Parameters
lock
Pointer to an SRWLock
object.
Return Value
If successful, an SRWLock
object in exclusive mode and the calling thread takes ownership of the lock. Otherwise, an SRWLock
object whose state is invalid.
SRWLock::TryLockShared
Attempts to acquire a SRWLock
object in shared mode for the current or specified SRWLock
object.
WRL_NOTHROW SyncLockShared TryLockShared();
WRL_NOTHROW static SyncLockShared TryLockShared(
_In_ SRWLOCK* lock
);
Parameters
lock
Pointer to an SRWLock
object.
Return Value
If successful, an SRWLock
object in shared mode and the calling thread takes ownership of the lock. Otherwise, an SRWLock
object whose state is invalid.