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

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