ReactOS 0.4.16-dev-2208-g6350669
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 137 of file misc.h.

Constructor & Destructor Documentation

◆ CScopedMutex()

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

Definition at line 141 of file misc.h.

142 {
144 if (m_hMutex && !InitialOwner)
145 {
147 if (wait != WAIT_OBJECT_0 && wait != WAIT_ABANDONED)
148 {
150 m_hMutex = NULL;
151 }
152 }
153 }
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:139
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:576
#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 154 of file misc.h.

155 {
156 if (m_hMutex)
157 {
160 }
161 }
BOOL WINAPI DECLSPEC_HOTPATCH ReleaseMutex(IN HANDLE hMutex)
Definition: synch.c:618

Member Function Documentation

◆ Acquired()

bool CScopedMutex::Acquired ( ) const
inline

Definition at line 163 of file misc.h.

163{ return m_hMutex != NULL; }

Member Data Documentation

◆ m_hMutex

HANDLE CScopedMutex::m_hMutex

Definition at line 139 of file misc.h.

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


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