ReactOS 0.4.16-dev-1948-gd260c1d
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 135 of file misc.h.

Constructor & Destructor Documentation

◆ CScopedMutex()

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

Definition at line 139 of file misc.h.

140 {
142 if (m_hMutex && !InitialOwner)
143 {
145 if (wait != WAIT_OBJECT_0 && wait != WAIT_ABANDONED)
146 {
148 m_hMutex = NULL;
149 }
150 }
151 }
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:137
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 152 of file misc.h.

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

Member Function Documentation

◆ Acquired()

bool CScopedMutex::Acquired ( ) const
inline

Definition at line 161 of file misc.h.

161{ return m_hMutex != NULL; }

Member Data Documentation

◆ m_hMutex

HANDLE CScopedMutex::m_hMutex

Definition at line 137 of file misc.h.

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


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