#ifndef _IMAGE_IMAGEEXPORTDIRECTORY_HPP_ #define _IMAGE_IMAGEEXPORTDIRECTORY_HPP_ #ifndef _COMMON_WINDOWS_HPP_ #include #endif #ifndef _COMMON_PUREVIEWOFFILE_HPP_ #include #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