Files
Work/image/EXPDSC.HPP
2024-08-07 09:16:27 -04:00

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