ReactOS 0.4.16-dev-1093-g93e9710
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 134 of file misc.h.

Constructor & Destructor Documentation

◆ CScopedMutex()

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

Definition at line 138 of file misc.h.

139 {
141 if (m_hMutex && !InitialOwner)
142 {
144 if (wait != WAIT_OBJECT_0 && wait != WAIT_ABANDONED)
145 {
147 m_hMutex = NULL;
148 }
149 }
150 }
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:136
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:438
#define WAIT_OBJECT_0
Definition: winbase.h:432
_In_ BOOLEAN InitialOwner
Definition: kefuncs.h:565

◆ ~CScopedMutex()

CScopedMutex::~CScopedMutex ( )
inline

Definition at line 151 of file misc.h.

152 {
153 if (m_hMutex)
154 {
157 }
158 }
BOOL WINAPI DECLSPEC_HOTPATCH ReleaseMutex(IN HANDLE hMutex)
Definition: synch.c:618

Member Function Documentation

◆ Acquired()

bool CScopedMutex::Acquired ( ) const
inline

Definition at line 160 of file misc.h.

160{ return m_hMutex != NULL; }

Member Data Documentation

◆ m_hMutex

HANDLE CScopedMutex::m_hMutex

Definition at line 136 of file misc.h.

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


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