#include #include VxDObject::VxDObject(void) { zeroInit(); } VxDObject::VxDObject(const VxDObject &someVxDObject) { *this=someVxDObject; } VxDObject::~VxDObject() { } VxDObject &VxDObject::operator=(const VxDObject &someVxDObject) { virtualSize(someVxDObject.virtualSize()); relocationBaseAddress(someVxDObject.relocationBaseAddress()); flags(someVxDObject.flags()); pageTableIndex(someVxDObject.pageTableIndex()); pageTableEntries(someVxDObject.pageTableEntries()); reserved(someVxDObject.reserved()); return *this; } BOOL VxDObject::operator<<(PureViewOfFile &pureView) { if(!pureView.read(mVirtualSize))return FALSE; if(!pureView.read(mRelocationBaseAddress))return FALSE; if(!pureView.read(mFlags))return FALSE; if(!pureView.read(mPageTableIndex))return FALSE; if(!pureView.read(mPageTableEntries))return FALSE; if(!pureView.read(mReserved))return FALSE; return TRUE; } VxDObject::operator String(void)const { String strFlags; if(has(Readable))strFlags+="Readable"; if(has(Writeable)){if(!strFlags.isNull())strFlags+=",";strFlags+="Writeable";} if(has(Executable)){if(!strFlags.isNull())strFlags+=",";strFlags+="Executable";} if(has(Resource)){if(!strFlags.isNull())strFlags+=",";strFlags+="Resource";} if(has(Discardable)){if(!strFlags.isNull())strFlags+=",";strFlags+="Discardable";} if(has(Shared)){if(!strFlags.isNull())strFlags+=",";strFlags+="Shared";} if(has(HasPreloadPages)){if(!strFlags.isNull())strFlags+=",";strFlags+="HasPreloadPages";} if(has(HasInvalidPages)){if(!strFlags.isNull())strFlags+=",";strFlags+="HasInvalidPages";} if(has(HasZeroFilledPages)){if(!strFlags.isNull())strFlags+=",";strFlags+="HasZeroFilledPages";} if(has(IsResident)){if(!strFlags.isNull())strFlags+=",";strFlags+="IsResident";} if(has(IsResidentAndContiguous)){if(!strFlags.isNull())strFlags+=",";strFlags+="IsResidentAndContiguous";} if(has(IsResidentAndLongLockable)){if(!strFlags.isNull())strFlags+=",";strFlags+="IsResidentAndLongLockable";} if(has(Reserved)){if(!strFlags.isNull())strFlags+=",";strFlags+="Reserved";} if(has(Alias1616Required)){if(!strFlags.isNull())strFlags+=",";strFlags+="Alias1616Required";} if(has(Big)){if(!strFlags.isNull())strFlags+=",";strFlags+="Big";} if(has(IsCodeConforming)){if(!strFlags.isNull())strFlags+=",";strFlags+="IsCodeConforming";} if(has(IOPrivilegeLevel)){if(!strFlags.isNull())strFlags+=",";strFlags+="IOPrivilegeLevel";} return strFlags; } DWORD VxDObject::virtualSize(void)const { return mVirtualSize; } void VxDObject::virtualSize(DWORD virtualSize) { mVirtualSize=virtualSize; } DWORD VxDObject::relocationBaseAddress(void)const { return mRelocationBaseAddress; } void VxDObject::relocationBaseAddress(DWORD relocationBaseAddress) { mRelocationBaseAddress=relocationBaseAddress; } DWORD VxDObject::flags(void)const { return mFlags; } void VxDObject::flags(DWORD flags) { mFlags=flags; } DWORD VxDObject::pageTableIndex(void)const { return mPageTableIndex; } void VxDObject::pageTableIndex(DWORD pageTableIndex) { mPageTableIndex=pageTableIndex; } DWORD VxDObject::pageTableEntries(void)const { return mPageTableEntries; } void VxDObject::pageTableEntries(DWORD pageTableEntries) { mPageTableEntries=pageTableEntries; } DWORD VxDObject::reserved(void)const { return mReserved; } void VxDObject::reserved(DWORD reserved) { mReserved=reserved; } BOOL VxDObject::has(Flags flagBit)const { return mFlags&(DWORD)flagBit; } void VxDObject::zeroInit(void) { mVirtualSize=0; mRelocationBaseAddress=0; mFlags=0; mPageTableIndex=0; mPageTableEntries=0; mReserved=0; }