Process Hacker
fastlock.c File Reference
#include <phbase.h>

Go to the source code of this file.

Macros

#define PH_LOCK_OWNED   0x1
 
#define PH_LOCK_EXCLUSIVE_WAKING   0x2
 
#define PH_LOCK_SHARED_OWNERS_SHIFT   2
 
#define PH_LOCK_SHARED_OWNERS_MASK   0x3ff
 
#define PH_LOCK_SHARED_OWNERS_INC   0x4
 
#define PH_LOCK_SHARED_WAITERS_SHIFT   12
 
#define PH_LOCK_SHARED_WAITERS_MASK   0x3ff
 
#define PH_LOCK_SHARED_WAITERS_INC   0x1000
 
#define PH_LOCK_EXCLUSIVE_WAITERS_SHIFT   22
 
#define PH_LOCK_EXCLUSIVE_WAITERS_MASK   0x3ff
 
#define PH_LOCK_EXCLUSIVE_WAITERS_INC   0x400000
 
#define PH_LOCK_EXCLUSIVE_MASK
 

Functions

VOID PhInitializeFastLock (_Out_ PPH_FAST_LOCK FastLock)
 
VOID PhDeleteFastLock (_Inout_ PPH_FAST_LOCK FastLock)
 
FORCEINLINE VOID PhpEnsureEventCreated (_Inout_ PHANDLE Handle)
 
FORCEINLINE ULONG PhpGetSpinCount (VOID)
 
_May_raise_ VOID FASTCALL PhfAcquireFastLockExclusive (_Inout_ PPH_FAST_LOCK FastLock)
 
_May_raise_ VOID FASTCALL PhfAcquireFastLockShared (_Inout_ PPH_FAST_LOCK FastLock)
 
VOID FASTCALL PhfReleaseFastLockExclusive (_Inout_ PPH_FAST_LOCK FastLock)
 
VOID FASTCALL PhfReleaseFastLockShared (_Inout_ PPH_FAST_LOCK FastLock)
 
BOOLEAN FASTCALL PhfTryAcquireFastLockExclusive (_Inout_ PPH_FAST_LOCK FastLock)
 
BOOLEAN FASTCALL PhfTryAcquireFastLockShared (_Inout_ PPH_FAST_LOCK FastLock)
 

Macro Definition Documentation

#define PH_LOCK_EXCLUSIVE_MASK
#define PH_LOCK_EXCLUSIVE_WAITERS_INC   0x400000

Definition at line 49 of file fastlock.c.

#define PH_LOCK_EXCLUSIVE_WAITERS_MASK   0x3ff

Definition at line 48 of file fastlock.c.

#define PH_LOCK_EXCLUSIVE_WAITERS_SHIFT   22

Definition at line 47 of file fastlock.c.

#define PH_LOCK_EXCLUSIVE_WAKING   0x2

Definition at line 37 of file fastlock.c.

#define PH_LOCK_OWNED   0x1

Definition at line 36 of file fastlock.c.

#define PH_LOCK_SHARED_OWNERS_INC   0x4

Definition at line 41 of file fastlock.c.

#define PH_LOCK_SHARED_OWNERS_MASK   0x3ff

Definition at line 40 of file fastlock.c.

#define PH_LOCK_SHARED_OWNERS_SHIFT   2

Definition at line 39 of file fastlock.c.

#define PH_LOCK_SHARED_WAITERS_INC   0x1000

Definition at line 45 of file fastlock.c.

#define PH_LOCK_SHARED_WAITERS_MASK   0x3ff

Definition at line 44 of file fastlock.c.

#define PH_LOCK_SHARED_WAITERS_SHIFT   12

Definition at line 43 of file fastlock.c.

Function Documentation

VOID PhDeleteFastLock ( _Inout_ PPH_FAST_LOCK  FastLock)

Definition at line 64 of file fastlock.c.

_May_raise_ VOID FASTCALL PhfAcquireFastLockExclusive ( _Inout_ PPH_FAST_LOCK  FastLock)

Definition at line 112 of file fastlock.c.

_May_raise_ VOID FASTCALL PhfAcquireFastLockShared ( _Inout_ PPH_FAST_LOCK  FastLock)

Definition at line 170 of file fastlock.c.

VOID FASTCALL PhfReleaseFastLockExclusive ( _Inout_ PPH_FAST_LOCK  FastLock)

Definition at line 236 of file fastlock.c.

VOID FASTCALL PhfReleaseFastLockShared ( _Inout_ PPH_FAST_LOCK  FastLock)

Definition at line 282 of file fastlock.c.

BOOLEAN FASTCALL PhfTryAcquireFastLockExclusive ( _Inout_ PPH_FAST_LOCK  FastLock)

Definition at line 329 of file fastlock.c.

BOOLEAN FASTCALL PhfTryAcquireFastLockShared ( _Inout_ PPH_FAST_LOCK  FastLock)

Definition at line 347 of file fastlock.c.

VOID PhInitializeFastLock ( _Out_ PPH_FAST_LOCK  FastLock)

Definition at line 55 of file fastlock.c.

FORCEINLINE VOID PhpEnsureEventCreated ( _Inout_ PHANDLE  Handle)

Definition at line 81 of file fastlock.c.

FORCEINLINE ULONG PhpGetSpinCount ( VOID  )

Definition at line 102 of file fastlock.c.