#ifndef _IMAGE_VXDOBJECT_HPP_ #define _IMAGE_VXDOBJECT_HPP_ #ifndef _COMMON_WINDOWS_HPP_ #include #endif #ifndef _COMMON_STRING_HPP_ #include #endif class PureViewOfFile; class VxDObject { public: enum Flags{Readable=0x0001,Writeable=0x0002,Executable=0x0004,Resource=0x0008,Discardable=0x0010, Shared=0x0020,HasPreloadPages=0x0040,HasInvalidPages=0x0080,HasZeroFilledPages=0x0100, IsResident=0x0200,IsResidentAndContiguous=0x0300,IsResidentAndLongLockable=0x0400, Reserved=0x0800,Alias1616Required=0x1000,Big=0x2000,IsCodeConforming=0x4000, IOPrivilegeLevel=0x8000}; VxDObject(void); VxDObject(const VxDObject &someVxDObject); virtual ~VxDObject(); VxDObject &operator=(const VxDObject &someVxDObject); BOOL operator<<(PureViewOfFile &pureView); operator String(void)const; DWORD virtualSize(void)const; void virtualSize(DWORD virtualSize); DWORD relocationBaseAddress(void)const; void relocationBaseAddress(DWORD relocationBaseAddress); DWORD flags(void)const; void flags(DWORD flags); DWORD pageTableIndex(void)const; void pageTableIndex(DWORD pageTableIndex); DWORD pageTableEntries(void)const; void pageTableEntries(DWORD pageTableEntries); DWORD reserved(void)const; void reserved(DWORD reserved); BOOL has(Flags flagBit)const; private: void zeroInit(void); DWORD mVirtualSize; DWORD mRelocationBaseAddress; DWORD mFlags; DWORD mPageTableIndex; DWORD mPageTableEntries; DWORD mReserved; }; #endif