Initial
This commit is contained in:
118
image/IMAGEHDR.BAK
Normal file
118
image/IMAGEHDR.BAK
Normal file
@@ -0,0 +1,118 @@
|
||||
#ifndef _IMAGE_IMAGEHEADER_HPP_
|
||||
#define _IMAGE_IMAGEHEADER_HPP_
|
||||
#ifndef _COMMON_WINDOWS_HPP_
|
||||
#include <common/windows.hpp>
|
||||
#endif
|
||||
#ifndef _COMMON_PUREVIEWOFFILE_HPP_
|
||||
#include <common/pview.hpp>
|
||||
#endif
|
||||
#ifndef _IMAGE_HARDWARE_HPP_
|
||||
#include <image/hardware.hpp>
|
||||
#endif
|
||||
#ifndef _IMAGE_IMAGEFLAGS_HPP_
|
||||
#include <image/iflags.hpp>
|
||||
#endif
|
||||
|
||||
class ImageHeader : private _IMAGE_FILE_HEADER
|
||||
{
|
||||
public:
|
||||
ImageHeader(void);
|
||||
ImageHeader(const ImageHeader &someImageHeader);
|
||||
~ImageHeader();
|
||||
ImageHeader &operator=(const ImageHeader &someImageHeader);
|
||||
WORD operator==(const ImageHeader &someImageHeader);
|
||||
WORD operator<<(PureViewOfFile &pureView);
|
||||
Hardware hardware(void)const;
|
||||
WORD sectionCount(void)const;
|
||||
DWORD timeDateStamp(void)const;
|
||||
DWORD pointerSymbolTable(void)const;
|
||||
DWORD symbolCount(void)const;
|
||||
WORD sizeOptionalHeader(void)const;
|
||||
ImageFlags imageFlags(void)const;
|
||||
private:
|
||||
};
|
||||
|
||||
inline
|
||||
ImageHeader::ImageHeader(void)
|
||||
{
|
||||
::memset((char*)&((_IMAGE_FILE_HEADER&)*this),0,sizeof(_IMAGE_FILE_HEADER));
|
||||
}
|
||||
|
||||
inline
|
||||
ImageHeader::ImageHeader(const ImageHeader &someImageHeader)
|
||||
{
|
||||
*this=someImageHeader;
|
||||
}
|
||||
|
||||
inline
|
||||
ImageHeader::~ImageHeader()
|
||||
{
|
||||
}
|
||||
|
||||
inline
|
||||
ImageHeader &ImageHeader::operator=(const ImageHeader &someImageHeader)
|
||||
{
|
||||
::memcpy((char*)&((_IMAGE_FILE_HEADER&)*this),(char*)&((_IMAGE_FILE_HEADER&)someImageHeader),sizeof(_IMAGE_FILE_HEADER));
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline
|
||||
WORD ImageHeader::operator==(const ImageHeader &someImageHeader)
|
||||
{
|
||||
return (hardware()==someImageHeader.hardware()&&
|
||||
sectionCount()==someImageHeader.sectionCount()&&
|
||||
timeDateStamp()==someImageHeader.timeDateStamp()&&
|
||||
pointerSymbolTable()==someImageHeader.pointerSymbolTable()&&
|
||||
symbolCount()==someImageHeader.symbolCount()&&
|
||||
sizeOptionalHeader()==someImageHeader.sizeOptionalHeader()&&
|
||||
imageFlags()==someImageHeader.imageFlags());
|
||||
}
|
||||
|
||||
inline
|
||||
WORD ImageHeader::operator<<(PureViewOfFile &pureView)
|
||||
{
|
||||
return sizeof(_IMAGE_FILE_HEADER)==pureView.read((char*)&((_IMAGE_FILE_HEADER&)*this),sizeof(_IMAGE_FILE_HEADER));
|
||||
}
|
||||
|
||||
inline
|
||||
Hardware ImageHeader::hardware(void)const
|
||||
{
|
||||
return Hardware(_IMAGE_FILE_HEADER::Machine);
|
||||
}
|
||||
|
||||
inline
|
||||
WORD ImageHeader::sectionCount(void)const
|
||||
{
|
||||
return _IMAGE_FILE_HEADER::NumberOfSections;
|
||||
}
|
||||
|
||||
inline
|
||||
DWORD ImageHeader::timeDateStamp(void)const
|
||||
{
|
||||
return _IMAGE_FILE_HEADER::TimeDateStamp;
|
||||
}
|
||||
|
||||
inline
|
||||
DWORD ImageHeader::pointerSymbolTable(void)const
|
||||
{
|
||||
return _IMAGE_FILE_HEADER::PointerToSymbolTable;
|
||||
}
|
||||
|
||||
inline
|
||||
DWORD ImageHeader::symbolCount(void)const
|
||||
{
|
||||
return _IMAGE_FILE_HEADER::NumberOfSymbols;
|
||||
}
|
||||
|
||||
inline
|
||||
WORD ImageHeader::sizeOptionalHeader(void)const
|
||||
{
|
||||
return _IMAGE_FILE_HEADER::SizeOfOptionalHeader;
|
||||
}
|
||||
|
||||
inline
|
||||
ImageFlags ImageHeader::imageFlags(void)const
|
||||
{
|
||||
return ImageFlags(_IMAGE_FILE_HEADER::Characteristics);
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user