ReactOS  0.4.15-dev-2534-geba00d1
mxlockkm.h
Go to the documentation of this file.
1 /*++
2 
3 Copyright (c) Microsoft Corporation
4 
5 ModuleName:
6 
7  MxLockKm.h
8 
9 Abstract:
10 
11  Kernel mode implementation of lock
12  class defined in MxLock.h
13 
14 Author:
15 
16 
17 
18 Revision History:
19 
20 
21 
22 --*/
23 
24 #pragma once
25 
26 #include "dbgmacros.h"
27 
29 
30 #include "mxlock.h"
31 
32 __inline
34  )
35 {
37 
39 }
40 
41 __inline
42 VOID
44  )
45 {
47 
49 }
50 
51 _Acquires_lock_(this->m_Lock)
54 __inline
55 VOID
56 MxLockNoDynam::Acquire(
58  )
59 {
61 
63 }
64 
65 _Acquires_lock_(this->m_Lock)
67 __inline
68 VOID
69 MxLockNoDynam::AcquireAtDpcLevel(
70  )
71 {
73 
75 }
76 
77 _Releases_lock_(this->m_Lock)
79 __inline
80 VOID
83  )
84 {
86 
88 }
89 
90 _Releases_lock_(this->m_Lock)
92 __inline
93 VOID
94 MxLockNoDynam::ReleaseFromDpcLevel(
95  )
96 {
98 
100 }
101 
102 __inline
103 VOID
105  )
106 {
108 }
109 
110 __inline
112  )
113 {
115 }
_Acquires_lock_(this->m_Lock) __drv_maxIRQL(DISPATCH_LEVEL) __drv_setsIRQL(DISPATCH_LEVEL) __inline VOID MxLockNoDynam
Definition: mxlockkm.h:51
_Releases_lock_(this->m_Lock) __drv_requiresIRQL(DISPATCH_LEVEL) __inline VOID MxLockNoDynam
Definition: mxlockkm.h:77
KSPIN_LOCK MdLock
Definition: mxlockkm.h:28
__inline ~MxLock()
Definition: mxlockkm.h:111
#define __drv_restoresIRQL
Definition: driverspecs.h:304
MdLock m_Lock
Definition: mxlock.h:40
VOID NTAPI KeAcquireSpinLockAtDpcLevel(IN PKSPIN_LOCK SpinLock)
Definition: spinlock.c:192
#define __drv_maxIRQL(irql)
Definition: driverspecs.h:273
UCHAR KIRQL
Definition: env_spec_w32.h:591
#define __out
Definition: dbghelp.h:62
FORCEINLINE VOID KeInitializeSpinLock(_Out_ PKSPIN_LOCK SpinLock)
Definition: kefuncs.h:238
#define __drv_requiresIRQL(irql)
Definition: driverspecs.h:303
#define SET_DBGFLAG_INITIALIZED
Definition: dbgmacros.h:59
__inline MxLock()
Definition: mxlockkm.h:33
VOID NTAPI KeReleaseSpinLockFromDpcLevel(IN PKSPIN_LOCK SpinLock)
Definition: spinlock.c:215
#define KeAcquireSpinLock(sl, irql)
Definition: env_spec_w32.h:609
#define CLEAR_DBGFLAG_INITIALIZED
Definition: dbgmacros.h:60
__inline VOID Uninitialize()
Definition: mxlockkm.h:104
_Must_inspect_result_ this m_Lock __drv_setsIRQL(APC_LEVEL)) _When_(return
_Requires_lock_held_ Interrupt _Releases_lock_ Interrupt _In_ _IRQL_restores_ KIRQL OldIrql
Definition: kefuncs.h:790
#define __drv_deref(annotes)
Definition: driverspecs.h:247
#define DISPATCH_LEVEL
Definition: env_spec_w32.h:696
_In_ BOOLEAN Release
Definition: cdrom.h:920
ULONG KSPIN_LOCK
Definition: env_spec_w32.h:72
#define __drv_savesIRQL
Definition: driverspecs.h:308
#define KeReleaseSpinLock(sl, irql)
Definition: env_spec_w32.h:627
#define ASSERT_DBGFLAG_INITIALIZED
Definition: dbgmacros.h:58
__inline VOID Initialize()
Definition: mxlockkm.h:43
_Requires_lock_held_ SpinLock _Releases_lock_ SpinLock _In_ _IRQL_restores_ KIRQL NewIrql
Definition: ke.h:114