#ifndef _IMAGE_IMAGESECTIONHEADERS_HPP_ #define _IMAGE_IMAGESECTIONHEADERS_HPP_ #ifndef _COMMON_ARRAY_HPP_ #include #endif #ifndef _IMAGE_IMAGESECTIONHEADER_HPP_ #include #endif class ImageSectionHeaders : public Array { public: ImageSectionHeaders(void); ImageSectionHeaders(const ImageSectionHeaders &someImageSectionHeaders); virtual ~ImageSectionHeaders(); ImageSectionHeaders &operator=(const ImageSectionHeaders &someImageSectionHeaders); WORD operator==(const ImageSectionHeaders &someImageSectionHeaders)const; WORD enclosingSectionHeader(DWORD virtualAddress,ImageSectionHeader &someImageSectionHeader,DWORD &deltaOffset); WORD isMemImage(void)const; void isMemImage(WORD isMemImage); private: WORD mIsMemImage; }; inline ImageSectionHeaders::ImageSectionHeaders(void) : mIsMemImage(FALSE) { } inline ImageSectionHeaders::ImageSectionHeaders(const ImageSectionHeaders &someImageSectionHeaders) { *this=someImageSectionHeaders; } inline ImageSectionHeaders::~ImageSectionHeaders() { } inline ImageSectionHeaders &ImageSectionHeaders::operator=(const ImageSectionHeaders &someImageSectionHeaders) { (Array&)*this=(Array&)someImageSectionHeaders; isMemImage(someImageSectionHeaders.isMemImage()); return *this; } inline WORD ImageSectionHeaders::operator==(const ImageSectionHeaders &someImageSectionHeaders)const { return (Array&)*this==(Array&)someImageSectionHeaders; } inline WORD ImageSectionHeaders::isMemImage(void)const { return mIsMemImage; } inline void ImageSectionHeaders::isMemImage(WORD isMemImage) { mIsMemImage=isMemImage; } #endif