📄 lvmem.h
字号:
#ifndef ___LVMEM_H
#define ___LVMEM_H
#include <pci.h>
#include <lvpackon.h>
class LvMem {
private:
protected:
U32BIT Size;
U8BIT _Huge_ *UserPtr;
LVRAWPTR PhysicalAddress;
LVRAWPTR LinearAddress;
#ifndef __WIN3264__
U16BIT LastBlock;
U16BIT LastBlockSize;
UINT FirstSelector;
BOOL DPMISetSelectorLimit (UINT selector, DWORD dwLimit);
void FreeSelectorArray(void);
LVSTATUS BuildSelectorArray(void);
#endif
public:
LvMem(U32BIT aMemSize);
~LvMem(void);
LVRAWPTR GetPhysicalAddress(void) { return PhysicalAddress; }
LVRAWPTR GetLinearAddress(void) { return LinearAddress; }
U8BIT _Huge_ *GetUserAddress(void) { return UserPtr; }
U32BIT GetSize(void) { return Size; }
};
class LvPhysicalMem : public LvMem {
private:
protected:
LVRAWPTR Phys2Lin(LVRAWPTR PhysicalAddress, U32BIT Size);
LVSTATUS Initialize(LVRAWPTR Physical);
public:
LvPhysicalMem(LVRAWPTR Address, U32BIT Size);
~LvPhysicalMem();
};
class LvLinearMem : public LvMem {
private:
protected:
LVSTATUS Initialize(LVRAWPTR LinMemAddress);
public:
LvLinearMem(LVRAWPTR Address, U32BIT Size);
~LvLinearMem();
};
class LvUserMem : public LvMem {
private:
protected:
HANDLE hMem;
public:
LvUserMem(LVRAWPTR Address, U32BIT Size);
~LvUserMem();
};
#include <lvpackof.h>
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -