ReactOS 0.4.16-dev-732-g2d1144a
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 121 of file misc.h.

Constructor & Destructor Documentation

◆ CScopedMutex()

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

Definition at line 125 of file misc.h.

126 {
128 if (m_hMutex && !InitialOwner)
129 {
131 if (wait != WAIT_OBJECT_0 && wait != WAIT_ABANDONED)
132 {
134 m_hMutex = NULL;
135 }
136 }
137 }
#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:123
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 138 of file misc.h.

139 {
140 if (m_hMutex)
141 {
144 }
145 }
BOOL WINAPI DECLSPEC_HOTPATCH ReleaseMutex(IN HANDLE hMutex)
Definition: synch.c:618

Member Function Documentation

◆ Acquired()

bool CScopedMutex::Acquired ( ) const
inline

Definition at line 147 of file misc.h.

147{ return m_hMutex != NULL; }

Member Data Documentation

◆ m_hMutex

HANDLE CScopedMutex::m_hMutex

Definition at line 123 of file misc.h.

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


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