82 lines
2 KiB
C
82 lines
2 KiB
C
|
|
/*//===============================================================
|
|||
|
|
|
|||
|
|
<< MEMORY MAP >>
|
|||
|
|
|
|||
|
|
FILE : MEMORYMAP.H, MEMORYMAP.CPP
|
|||
|
|
DESC : Memory Map <EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ŭ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
INIT BUILT DATE : 2005. 12. 11
|
|||
|
|
LAST BUILT DATE : 2005. 12. 11
|
|||
|
|
|
|||
|
|
P.S.>
|
|||
|
|
- <EFBFBD>Ϲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͽ<EFBFBD> <EFBFBD>б⸸ <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>۵<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD>
|
|||
|
|
- <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ų<EFBFBD> ũ<EFBFBD>Ⱑ 0<EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> CMemoryMap::Open <EFBFBD><EFBFBD> ::CreateFileMapping <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ũ<EFBFBD><EFBFBD> Ȯ<EFBFBD><EFBFBD>
|
|||
|
|
|
|||
|
|
Copyright<EFBFBD><EFBFBD> 2002~2009 B4nFter (b4nfter@gmail.com) and Co-Writers. All Rights Reserved.
|
|||
|
|
|
|||
|
|
*///===============================================================
|
|||
|
|
|
|||
|
|
|
|||
|
|
#pragma once
|
|||
|
|
|
|||
|
|
|
|||
|
|
///////////////////////////////////////////////////////////////////
|
|||
|
|
// INCLUDE
|
|||
|
|
///////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
#include <WINDOWS.H>
|
|||
|
|
|
|||
|
|
|
|||
|
|
///////////////////////////////////////////////////////////////////
|
|||
|
|
// DEFINE
|
|||
|
|
///////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
|
|||
|
|
///////////////////////////////////////////////////////////////////
|
|||
|
|
// DECLARATION
|
|||
|
|
///////////////////////////////////////////////////////////////////
|
|||
|
|
|
|||
|
|
//*---------------------------------------------------------------
|
|||
|
|
// TYPE : CLASS
|
|||
|
|
// NAME : CMemoryMap
|
|||
|
|
//*---------------------------------------------------------------
|
|||
|
|
// DESC : Memory Map <20><><EFBFBD><EFBFBD> Ŭ<><C5AC><EFBFBD><EFBFBD>
|
|||
|
|
// PRGM : B4nFter
|
|||
|
|
//*---------------------------------------------------------------
|
|||
|
|
class CMemoryMap
|
|||
|
|
{
|
|||
|
|
|
|||
|
|
public:
|
|||
|
|
CMemoryMap();
|
|||
|
|
~CMemoryMap();
|
|||
|
|
|
|||
|
|
BOOL Open(
|
|||
|
|
LPCTSTR lpszFileName,
|
|||
|
|
DWORD dwFileOffsetHigh = 0,
|
|||
|
|
DWORD dwFileOffsetLow = 0,
|
|||
|
|
SIZE_T dwNumberOfBytesToMap = 0,
|
|||
|
|
LPCTSTR lpszMemoryMapName = NULL,
|
|||
|
|
DWORD dwDesiredAccess = GENERIC_READ,
|
|||
|
|
DWORD dwCreationDisposition = OPEN_EXISTING
|
|||
|
|
);
|
|||
|
|
VOID Close();
|
|||
|
|
|
|||
|
|
BOOL ChangeMapView(
|
|||
|
|
DWORD dwFileOffsetHigh = 0,
|
|||
|
|
DWORD dwFileOffsetLow = 0,
|
|||
|
|
SIZE_T dwNumberOfBytesToMap = 0
|
|||
|
|
);
|
|||
|
|
BOOL Flush();
|
|||
|
|
|
|||
|
|
LPVOID GetBaseAddress();
|
|||
|
|
UINT64 GetSize();
|
|||
|
|
|
|||
|
|
private:
|
|||
|
|
HANDLE m_hFile;
|
|||
|
|
HANDLE m_hMemoryMap;
|
|||
|
|
|
|||
|
|
LPVOID m_lpBaseAddr;
|
|||
|
|
DWORD m_dwSizeLow;
|
|||
|
|
DWORD m_dwSizeHigh;
|
|||
|
|
};
|
|||
|
|
|