ReactOS 0.4.16-dev-816-g135a9a9
mxpagedlock.h
Go to the documentation of this file.
1/*++
2
3Copyright (c) Microsoft Corporation
4
5ModuleName:
6
7 MxPagedLock.h
8
9Abstract:
10
11 Mode agnostic definition of paged lock
12
13 See MxPagedLockKm.h and MxPagedLockUm.h for mode
14 specific implementations
15
16Author:
17
18
19
20Revision History:
21
22
23
24--*/
25
26#pragma once
27
28//
29// MxPagedLockNoDynam has no c'tor/d'tor
30// so as to be usable in global structs in km
31//
32// MxPagedLock dervies from it and adds c'tor/d'tor
33//
35{
36
38
39protected:
41public:
46 );
47
50 __drv_savesIRQLGlobal(FastMutexObject, this->m_Lock)
53 VOID
54 Acquire(
55 );
56
57
59 VOID
61 );
62
65 __drv_savesIRQLGlobal(FastMutexObject, this->m_Lock)
71 TryToAcquire(
72 );
73
75 __drv_restoresIRQLGlobal(FastMutexObject,this->m_Lock)
78 VOID
79 Release(
80 );
81
82
84 VOID
86 );
87
89 VOID
91 );
92};
93
95{
96public:
99
101 ~MxPagedLock();
102};
103
unsigned char BOOLEAN
#define __inline
Definition: _wctype.cpp:15
const WCHAR * class
Definition: main.c:68
LONG NTSTATUS
Definition: precomp.h:26
return
Definition: dirsup.c:529
_In_ BOOLEAN Release
Definition: cdrom.h:920
MdPagedLock m_Lock
Definition: mxpagedlock.h:40
_Must_inspect_result_ this m_Lock __drv_valueIs(==1;==0) __drv_when(return
__inline VOID Uninitialize()
__inline VOID AcquireUnsafe()
Definition: mxpagedlockkm.h:78
_Must_inspect_result_ __inline NTSTATUS Initialize()
Definition: mxpagedlockkm.h:52
__drv_maxIRQL(APC_LEVEL) __drv_setsIRQL(APC_LEVEL) __drv_savesIRQLGlobal(FastMutexObject
__inline VOID ReleaseUnsafe()
#define _Acquires_lock_(lock)
#define _Releases_lock_(lock)
#define __drv_when(cond, annotes)
Definition: driverspecs.h:335
#define __drv_restoresIRQLGlobal(kind, param)
Definition: driverspecs.h:323
#define __drv_setsIRQL(irql)
Definition: driverspecs.h:328
#define __drv_requiresIRQL(irql)
Definition: driverspecs.h:321
#define __drv_savesIRQLGlobal(kind, param)
Definition: driverspecs.h:327
#define __drv_maxIRQL(irql)
Definition: driverspecs.h:291
#define APC_LEVEL
Definition: env_spec_w32.h:695
#define _Must_inspect_result_
Definition: no_sal2.h:62
#define _When_(c, a)
Definition: no_sal2.h:38