251 lines
6.6 KiB
C++
251 lines
6.6 KiB
C++
#ifndef _IMAGE_IMAGEEXPORTDIRECTORY_HPP_
|
|
#define _IMAGE_IMAGEEXPORTDIRECTORY_HPP_
|
|
#ifndef _COMMON_WINDOWS_HPP_
|
|
#include <common/windows.hpp>
|
|
#endif
|
|
#ifndef _COMMON_PUREVIEWOFFILE_HPP_
|
|
#include <common/pview.hpp>
|
|
#endif
|
|
|
|
class ImageExportDirectory : private IMAGE_EXPORT_DIRECTORY
|
|
{
|
|
public:
|
|
ImageExportDirectory(void);
|
|
ImageExportDirectory(const ImageExportDirectory &someImageExportDirectory);
|
|
virtual ~ImageExportDirectory();
|
|
ImageExportDirectory &operator=(const ImageExportDirectory &someImageExportDirectory);
|
|
ImageExportDirectory &operator<<(PureViewOfFile &pureView);
|
|
WORD operator==(const ImageExportDirectory &someImageExportDirectory);
|
|
DWORD characteristics(void)const;
|
|
void characteristics(DWORD characteristics);
|
|
DWORD timeDate(void)const;
|
|
void timeDate(DWORD timeDate);
|
|
WORD majorVersion(void)const;
|
|
void majorVersion(WORD majorVersion);
|
|
WORD minorVersion(void)const;
|
|
void minorVersion(WORD minorVersion);
|
|
DWORD name(void)const;
|
|
void name(DWORD name);
|
|
DWORD base(void)const;
|
|
void base(DWORD base);
|
|
DWORD numberOfFunctions(void)const;
|
|
void numberOfFunctions(DWORD numberOfunctions);
|
|
DWORD numberOfNames(void)const;
|
|
void numberOfNames(DWORD numberOfNames);
|
|
DWORD addressOfFunctions(void)const;
|
|
void addressOfFunctions(DWORD addressOfFunctions);
|
|
DWORD addressOfNames(void)const;
|
|
void addressOfNames(DWORD addressOfNames);
|
|
DWORD addressOfNameOrdinals(void)const;
|
|
void addressOfNameOrdinals(DWORD addressOfNameOrdinals);
|
|
private:
|
|
void zeroInit(void);
|
|
};
|
|
|
|
inline
|
|
ImageExportDirectory::ImageExportDirectory(void)
|
|
{
|
|
zeroInit();
|
|
}
|
|
|
|
inline
|
|
ImageExportDirectory::ImageExportDirectory(const ImageExportDirectory &someImageExportDirectory)
|
|
{
|
|
*this=someImageExportDirectory;
|
|
}
|
|
|
|
inline
|
|
ImageExportDirectory::~ImageExportDirectory()
|
|
{
|
|
}
|
|
|
|
inline
|
|
ImageExportDirectory &ImageExportDirectory::operator=(const ImageExportDirectory &someImageExportDirectory)
|
|
{
|
|
characteristics(someImageExportDirectory.characteristics());
|
|
timeDate(someImageExportDirectory.timeDate());
|
|
majorVersion(someImageExportDirectory.majorVersion());
|
|
minorVersion(someImageExportDirectory.minorVersion());
|
|
name(someImageExportDirectory.name());
|
|
base(someImageExportDirectory.base());
|
|
numberOfFunctions(someImageExportDirectory.numberOfFunctions());
|
|
numberOfNames(someImageExportDirectory.numberOfNames());
|
|
addressOfFunctions(someImageExportDirectory.addressOfFunctions());
|
|
addressOfNames(someImageExportDirectory.addressOfNames());
|
|
addressOfNameOrdinals(someImageExportDirectory.addressOfNameOrdinals());
|
|
return *this;
|
|
}
|
|
|
|
inline
|
|
WORD ImageExportDirectory::operator==(const ImageExportDirectory &someImageExportDirectory)
|
|
{
|
|
return (characteristics()==someImageExportDirectory.characteristics()&&
|
|
timeDate()==someImageExportDirectory.timeDate()&&
|
|
majorVersion()==someImageExportDirectory.majorVersion()&&
|
|
minorVersion()==someImageExportDirectory.minorVersion()&&
|
|
name()==someImageExportDirectory.name()&&
|
|
base()==someImageExportDirectory.base()&&
|
|
numberOfFunctions()==someImageExportDirectory.numberOfFunctions()&&
|
|
numberOfNames()==someImageExportDirectory.numberOfNames()&&
|
|
addressOfFunctions()==someImageExportDirectory.addressOfFunctions()&&
|
|
addressOfNames()==someImageExportDirectory.addressOfNames()&&
|
|
addressOfNameOrdinals()==someImageExportDirectory.addressOfNameOrdinals());
|
|
}
|
|
|
|
inline
|
|
ImageExportDirectory &ImageExportDirectory::operator<<(PureViewOfFile &pureView)
|
|
{
|
|
pureView.read((char*)&((IMAGE_EXPORT_DIRECTORY&)*this),sizeof(IMAGE_EXPORT_DIRECTORY));
|
|
return *this;
|
|
}
|
|
|
|
inline
|
|
DWORD ImageExportDirectory::characteristics(void)const
|
|
{
|
|
return IMAGE_EXPORT_DIRECTORY::Characteristics;
|
|
}
|
|
|
|
inline
|
|
void ImageExportDirectory::characteristics(DWORD characteristics)
|
|
{
|
|
IMAGE_EXPORT_DIRECTORY::Characteristics=characteristics;
|
|
}
|
|
|
|
inline
|
|
DWORD ImageExportDirectory::timeDate(void)const
|
|
{
|
|
return IMAGE_EXPORT_DIRECTORY::TimeDateStamp;
|
|
}
|
|
|
|
inline
|
|
void ImageExportDirectory::timeDate(DWORD timeDate)
|
|
{
|
|
IMAGE_EXPORT_DIRECTORY::TimeDateStamp=timeDate;
|
|
}
|
|
|
|
inline
|
|
WORD ImageExportDirectory::majorVersion(void)const
|
|
{
|
|
return IMAGE_EXPORT_DIRECTORY::MajorVersion;
|
|
}
|
|
|
|
inline
|
|
void ImageExportDirectory::majorVersion(WORD majorVersion)
|
|
{
|
|
IMAGE_EXPORT_DIRECTORY::MajorVersion=majorVersion;
|
|
}
|
|
|
|
inline
|
|
WORD ImageExportDirectory::minorVersion(void)const
|
|
{
|
|
return IMAGE_EXPORT_DIRECTORY::MinorVersion;
|
|
}
|
|
|
|
inline
|
|
void ImageExportDirectory::minorVersion(WORD minorVersion)
|
|
{
|
|
IMAGE_EXPORT_DIRECTORY::MinorVersion=minorVersion;
|
|
}
|
|
|
|
inline
|
|
DWORD ImageExportDirectory::name(void)const
|
|
{
|
|
return IMAGE_EXPORT_DIRECTORY::Name;
|
|
}
|
|
|
|
inline
|
|
void ImageExportDirectory::name(DWORD name)
|
|
{
|
|
IMAGE_EXPORT_DIRECTORY::Name=name;
|
|
}
|
|
|
|
inline
|
|
DWORD ImageExportDirectory::base(void)const
|
|
{
|
|
return IMAGE_EXPORT_DIRECTORY::Base;
|
|
}
|
|
|
|
inline
|
|
void ImageExportDirectory::base(DWORD base)
|
|
{
|
|
IMAGE_EXPORT_DIRECTORY::Base=base;
|
|
}
|
|
|
|
inline
|
|
DWORD ImageExportDirectory::numberOfFunctions(void)const
|
|
{
|
|
return IMAGE_EXPORT_DIRECTORY::NumberOfFunctions;
|
|
}
|
|
|
|
inline
|
|
void ImageExportDirectory::numberOfFunctions(DWORD numberOfFunctions)
|
|
{
|
|
IMAGE_EXPORT_DIRECTORY::NumberOfFunctions=numberOfFunctions;
|
|
}
|
|
|
|
inline
|
|
DWORD ImageExportDirectory::numberOfNames(void)const
|
|
{
|
|
return IMAGE_EXPORT_DIRECTORY::NumberOfNames;
|
|
}
|
|
|
|
inline
|
|
void ImageExportDirectory::numberOfNames(DWORD numberOfNames)
|
|
{
|
|
IMAGE_EXPORT_DIRECTORY::NumberOfNames=numberOfNames;
|
|
}
|
|
|
|
inline
|
|
DWORD ImageExportDirectory::addressOfFunctions(void)const
|
|
{
|
|
return (DWORD)IMAGE_EXPORT_DIRECTORY::AddressOfFunctions;
|
|
}
|
|
|
|
inline
|
|
void ImageExportDirectory::addressOfFunctions(DWORD addressOfFunctions)
|
|
{
|
|
IMAGE_EXPORT_DIRECTORY::AddressOfFunctions=(DWORD)(PDWORD*)addressOfFunctions;
|
|
}
|
|
|
|
inline
|
|
DWORD ImageExportDirectory::addressOfNames(void)const
|
|
{
|
|
return (DWORD)IMAGE_EXPORT_DIRECTORY::AddressOfNames;
|
|
}
|
|
|
|
inline
|
|
void ImageExportDirectory::addressOfNames(DWORD addressOfNames)
|
|
{
|
|
IMAGE_EXPORT_DIRECTORY::AddressOfNames=(DWORD)(PDWORD*)addressOfNames;
|
|
}
|
|
|
|
inline
|
|
DWORD ImageExportDirectory::addressOfNameOrdinals(void)const
|
|
{
|
|
return (DWORD)IMAGE_EXPORT_DIRECTORY::AddressOfNameOrdinals;
|
|
}
|
|
|
|
inline
|
|
void ImageExportDirectory::addressOfNameOrdinals(DWORD addressOfNameOrdinals)
|
|
{
|
|
IMAGE_EXPORT_DIRECTORY::AddressOfNameOrdinals=(DWORD)(PWORD*)addressOfNameOrdinals;
|
|
}
|
|
|
|
inline
|
|
void ImageExportDirectory::zeroInit(void)
|
|
{
|
|
IMAGE_EXPORT_DIRECTORY::Characteristics=0;
|
|
IMAGE_EXPORT_DIRECTORY::TimeDateStamp=0;
|
|
IMAGE_EXPORT_DIRECTORY::MajorVersion=0;
|
|
IMAGE_EXPORT_DIRECTORY::MinorVersion=0;
|
|
IMAGE_EXPORT_DIRECTORY::Name=0;
|
|
IMAGE_EXPORT_DIRECTORY::Base=0;
|
|
IMAGE_EXPORT_DIRECTORY::NumberOfFunctions=0;
|
|
IMAGE_EXPORT_DIRECTORY::NumberOfNames=0;
|
|
IMAGE_EXPORT_DIRECTORY::AddressOfFunctions=0;
|
|
IMAGE_EXPORT_DIRECTORY::AddressOfNames=0;
|
|
IMAGE_EXPORT_DIRECTORY::AddressOfNameOrdinals=0;
|
|
}
|
|
#endif
|
|
|