131 lines
3.5 KiB
C++
131 lines
3.5 KiB
C++
#ifndef _IMAGE_IMAGEEXPORTDESCRIPTOR_HPP_
|
|
#define _IMAGE_IMAGEEXPORTDESCRIPTOR_HPP_
|
|
#ifndef _COMMON_WINDOWS_HPP_
|
|
#include <common/windows.hpp>
|
|
#endif
|
|
#ifndef _COMMON_PUREDWORD_HPP_
|
|
#include <common/puredwrd.hpp>
|
|
#endif
|
|
#ifndef _COMMON_PUREWORD_HPP_
|
|
#include <common/purewrd.hpp>
|
|
#endif
|
|
#ifndef _COMMON_STDIO_HPP_
|
|
#include <common/stdio.hpp>
|
|
#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()<someImageExportDescriptor.imageExportEntryPoint();
|
|
}
|
|
|
|
inline
|
|
WORD ImageExportDescriptor::operator>(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
|