#ifndef _IMAGE_IMAGEEXPORTDESCRIPTOR_HPP_ #define _IMAGE_IMAGEEXPORTDESCRIPTOR_HPP_ #ifndef _COMMON_WINDOWS_HPP_ #include #endif #ifndef _COMMON_PUREDWORD_HPP_ #include #endif #ifndef _COMMON_PUREWORD_HPP_ #include #endif #ifndef _COMMON_STDIO_HPP_ #include #endif class ImageExportDescriptor { public: ImageExportDescriptor(void); ImageExportDescriptor(const ImageExportDescriptor &someImageExportDescriptor); virtual ~ImageExportDescriptor(); ImageExportDescriptor &operator=(const ImageExportDescriptor &someImageExportDescriptor); WORD operator==(const ImageExportDescriptor &someImageExportDescriptor)const; WORD operator<(const ImageExportDescriptor &someImageExportDescriptor)const; WORD operator>(const ImageExportDescriptor &someImageExportDescriptor)const; operator String(void)const; String imageExportName(void)const; void imageExportName(const String &imageExportName); PureWORD imageExportOrdinal(void)const; void imageExportOrdinal(PureWORD imageExportOrdinal); PureDWORD imageExportEntryPoint(void)const; void imageExportEntryPoint(PureDWORD imageExportEntryPoint); private: String mImageExportName; PureWORD mImageExportOrdinal; PureDWORD mImageExportEntryPoint; }; inline ImageExportDescriptor::ImageExportDescriptor(void) { } inline ImageExportDescriptor::ImageExportDescriptor(const ImageExportDescriptor &someImageExportDescriptor) { *this=someImageExportDescriptor; } inline ImageExportDescriptor::~ImageExportDescriptor() { } inline ImageExportDescriptor &ImageExportDescriptor::operator=(const ImageExportDescriptor &someImageExportDescriptor) { imageExportName(someImageExportDescriptor.imageExportName()); imageExportOrdinal(someImageExportDescriptor.imageExportOrdinal()); imageExportEntryPoint(someImageExportDescriptor.imageExportEntryPoint()); return *this; } inline WORD ImageExportDescriptor::operator==(const ImageExportDescriptor &someImageExportDescriptor)const { return (imageExportName()==someImageExportDescriptor.imageExportName()&& imageExportOrdinal()==someImageExportDescriptor.imageExportOrdinal()&& imageExportEntryPoint()==someImageExportDescriptor.imageExportEntryPoint()); } inline WORD ImageExportDescriptor::operator<(const ImageExportDescriptor &someImageExportDescriptor)const { return imageExportEntryPoint()(const ImageExportDescriptor &someImageExportDescriptor)const { return imageExportEntryPoint()>someImageExportDescriptor.imageExportEntryPoint(); } inline ImageExportDescriptor::operator String(void)const { String descriptorString; ::sprintf((LPSTR)descriptorString,"%s @%ld 0x%08lx", imageExportName().str(), imageExportOrdinal().getValue(), imageExportEntryPoint().getValue()); return descriptorString; } inline String ImageExportDescriptor::imageExportName(void)const { return mImageExportName; } inline void ImageExportDescriptor::imageExportName(const String &imageExportName) { mImageExportName=imageExportName; } inline PureWORD ImageExportDescriptor::imageExportOrdinal(void)const { return mImageExportOrdinal; } inline void ImageExportDescriptor::imageExportOrdinal(PureWORD imageExportOrdinal) { mImageExportOrdinal=imageExportOrdinal; } inline PureDWORD ImageExportDescriptor::imageExportEntryPoint(void)const { return mImageExportEntryPoint; } inline void ImageExportDescriptor::imageExportEntryPoint(PureDWORD imageExportEntryPoint) { mImageExportEntryPoint=imageExportEntryPoint; } #endif