ReactOS 0.4.16-dev-2354-g16de117
CScopedMutex Struct Reference

#include <misc.h>

Inheritance diagram for CScopedMutex:
Collaboration diagram for CScopedMutex:

Public Member Functions

 CScopedMutex (LPCWSTR Name, UINT Timeout=INFINITE, BOOL InitialOwner=FALSE)
 
 ~CScopedMutex ()
 
bool Acquired () const
 

Public Attributes

HANDLE m_hMutex
 

Detailed Description

Definition at line 139 of file misc.h.

Constructor & Destructor Documentation

◆ CScopedMutex()

CScopedMutex::CScopedMutex ( LPCWSTR  Name,
UINT  Timeout = INFINITE,
BOOL  InitialOwner = FALSE 
)
inline

Definition at line 143 of file misc.h.

144 {
146 if (m_hMutex && !InitialOwner)
147 {
149 if (wait != WAIT_OBJECT_0 && wait != WAIT_ABANDONED)
150 {
152 m_hMutex = NULL;
153 }
154 }
155 }
LPWSTR Name
Definition: desk.c:124
#define NULL
Definition: types.h:112
#define CloseHandle
Definition: compat.h:739
unsigned long DWORD
Definition: ntddk_ex.h:95
static ULONG Timeout
Definition: ping.c:61
HANDLE m_hMutex
Definition: misc.h:141
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
Definition: synch.c:82
HANDLE WINAPI DECLSPEC_HOTPATCH CreateMutexW(IN LPSECURITY_ATTRIBUTES lpMutexAttributes OPTIONAL, IN BOOL bInitialOwner, IN LPCWSTR lpName OPTIONAL)
Definition: synch.c:525
#define WAIT_ABANDONED
Definition: winbase.h:389
#define WAIT_OBJECT_0
Definition: winbase.h:383
_In_ BOOLEAN InitialOwner
Definition: kefuncs.h:565

◆ ~CScopedMutex()

CScopedMutex::~CScopedMutex ( )
inline

Definition at line 156 of file misc.h.

157 {
158 if (m_hMutex)
159 {
162 }
163 }
BOOL WINAPI DECLSPEC_HOTPATCH ReleaseMutex(IN HANDLE hMutex)
Definition: synch.c:554

Member Function Documentation

◆ Acquired()

bool CScopedMutex::Acquired ( ) const
inline

Definition at line 165 of file misc.h.

165{ return m_hMutex != NULL; }

Member Data Documentation

◆ m_hMutex

HANDLE CScopedMutex::m_hMutex

Definition at line 141 of file misc.h.

Referenced by Acquired(), CScopedMutex(), and ~CScopedMutex().


The documentation for this struct was generated from the following file: