6 #ifndef _INC_cMemPage_H
7 #define _INC_cMemPage_H
27 cMemPage(UINT_PTR nPageStart,
size_t nPageSize)
97 const UINT_PTR nStart = ((UINT_PTR)p);
98 const UINT_PTR nEnd = nStart + nSize;
100 UINT_PTR nPageStart = nStart - nPageOver;
106 if (pPage ==
nullptr)
112 if (--pPage->m_nRefCount2)
115 if (!pPage->SetProtect(
true))
123 if (pPage ==
nullptr)
127 if (!pPage->SetProtect(
false))
136 pPage->m_nRefCount2++;
INT32 HRESULT
_WIN32 style error codes. INT32
Definition: SysTypes.h:465
#define ASSERT(exp)
Definition: cDebugAssert.h:87
Definition: cArraySortRef.h:113
Definition: cMemPage.h:72
cArraySortValue< cMemPage, UINT_PTR > m_aPages
Definition: cMemPage.h:144
virtual ~cMemPageMgr()
Definition: cMemPage.h:83
cMemPageMgr()
Definition: cMemPage.h:78
DWORD m_dwPageSize
Definition: cMemPage.h:143
HRESULT ProtectPages(const void *p, size_t nSize, bool bProtect)
Definition: cMemPage.h:88
Definition: cMemPage.h:19
int m_nRefCount2
ProtectPages count.
Definition: cMemPage.h:67
virtual ~cMemPage() noexcept
Definition: cMemPage.h:36
bool SetProtect(bool bProtect) noexcept
Definition: cMemPage.h:52
cMemPage(UINT_PTR nPageStart, size_t nPageSize)
Definition: cMemPage.h:27
DWORD m_dwOldProtectionFlags
original flags used/returned by _WIN32 VirtualProtect()
Definition: cMemPage.h:66
UINT_PTR get_SortValue() const noexcept
Definition: cMemPage.h:40
bool IsOverlapped(UINT_PTR p, size_t n) const noexcept
Definition: cMemPage.h:44
UINT_PTR m_nPageStart
Always aligned to dwPageSize.
Definition: cMemPage.h:64
size_t m_nPageSize
SystemInfo::dwPageSize.
Definition: cMemPage.h:65
Definition: cRefPtr.h:225
Definition: cSingleton.h:127
static cSystemInfo &__stdcall I()
Definition: cSingleton.h:199
< The main namespace for all Core functions.
Definition: GrayCore.cpp:14
cRefPtr< cMemPage > cMemPagePtr
Definition: cMemPage.h:69