#ifndef _IMAGE_IMAGEDEBUGDIRECTORY_HPP_ #define _IMAGE_IMAGEDEBUGDIRECTORY_HPP_ #ifndef _COMMON_WINDOWS_HPP_ #include #endif #ifndef _COMMON_PUREVIEWOFFILE_HPP_ #include #endif class ImageDebugDirectory : private IMAGE_DEBUG_DIRECTORY { public: ImageDebugDirectory(void); ImageDebugDirectory(const ImageDebugDirectory &someImageDebugDirectory); virtual ~ImageDebugDirectory(); PureViewOfFile &operator<<(PureViewOfFile &pureViewOfFile); ImageDebugDirectory &operator=(const ImageDebugDirectory &someImageDebugDirectory); WORD operator==(const ImageDebugDirectory &someImageDebugDirectory)const; 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 type(void)const; void type(DWORD type); DWORD sizeofData(void)const; void sizeofData(DWORD sizeofData); DWORD addressOfRawData(void)const; void addressOfRawData(DWORD addressOfRawData); DWORD pointerToRawData(void)const; void pointerToRawData(DWORD pointerToRawData); private: }; inline ImageDebugDirectory::ImageDebugDirectory(void) { characteristics(0); timeDate(0); majorVersion(0); minorVersion(0); type(0); sizeofData(0); addressOfRawData(0); pointerToRawData(0); } inline ImageDebugDirectory::ImageDebugDirectory(const ImageDebugDirectory &someImageDebugDirectory) { *this=someImageDebugDirectory; } inline ImageDebugDirectory::~ImageDebugDirectory() { } inline ImageDebugDirectory &ImageDebugDirectory::operator=(const ImageDebugDirectory &someImageDebugDirectory) { characteristics(someImageDebugDirectory.characteristics()); timeDate(someImageDebugDirectory.timeDate()); majorVersion(someImageDebugDirectory.majorVersion()); minorVersion(someImageDebugDirectory.minorVersion()); type(someImageDebugDirectory.type()); sizeofData(someImageDebugDirectory.sizeofData()); addressOfRawData(someImageDebugDirectory.addressOfRawData()); pointerToRawData(someImageDebugDirectory.pointerToRawData()); return *this; } inline WORD ImageDebugDirectory::operator==(const ImageDebugDirectory &someImageDebugDirectory)const { return (characteristics()==someImageDebugDirectory.characteristics()&& timeDate()==someImageDebugDirectory.timeDate()&& majorVersion()==someImageDebugDirectory.majorVersion()&& minorVersion()==someImageDebugDirectory.minorVersion()&& type()==someImageDebugDirectory.type()&& sizeofData()==someImageDebugDirectory.sizeofData()&& addressOfRawData()==someImageDebugDirectory.addressOfRawData()&& pointerToRawData()==someImageDebugDirectory.pointerToRawData()); } inline PureViewOfFile &ImageDebugDirectory::operator<<(PureViewOfFile &pureViewOfFile) { pureViewOfFile.read((char*)&((IMAGE_DEBUG_DIRECTORY&)*this),sizeof(IMAGE_DEBUG_DIRECTORY)); return pureViewOfFile; } inline DWORD ImageDebugDirectory::characteristics(void)const { return IMAGE_DEBUG_DIRECTORY::Characteristics; } inline void ImageDebugDirectory::characteristics(DWORD characteristics) { IMAGE_DEBUG_DIRECTORY::Characteristics=characteristics; } inline DWORD ImageDebugDirectory::timeDate(void)const { return IMAGE_DEBUG_DIRECTORY::TimeDateStamp; } inline void ImageDebugDirectory::timeDate(DWORD timeDate) { IMAGE_DEBUG_DIRECTORY::TimeDateStamp=timeDate; } inline WORD ImageDebugDirectory::majorVersion(void)const { return IMAGE_DEBUG_DIRECTORY::MajorVersion; } inline void ImageDebugDirectory::majorVersion(WORD majorVersion) { IMAGE_DEBUG_DIRECTORY::MajorVersion=majorVersion; } inline WORD ImageDebugDirectory::minorVersion(void)const { return IMAGE_DEBUG_DIRECTORY::MinorVersion; } inline void ImageDebugDirectory::minorVersion(WORD minorVersion) { IMAGE_DEBUG_DIRECTORY::MinorVersion=minorVersion; } inline DWORD ImageDebugDirectory::type(void)const { return IMAGE_DEBUG_DIRECTORY::Type; } inline void ImageDebugDirectory::type(DWORD type) { IMAGE_DEBUG_DIRECTORY::Type=type; } inline DWORD ImageDebugDirectory::sizeofData(void)const { return IMAGE_DEBUG_DIRECTORY::SizeOfData; } inline void ImageDebugDirectory::sizeofData(DWORD sizeofData) { IMAGE_DEBUG_DIRECTORY::SizeOfData=sizeofData; } inline DWORD ImageDebugDirectory::addressOfRawData(void)const { return IMAGE_DEBUG_DIRECTORY::AddressOfRawData; } inline void ImageDebugDirectory::addressOfRawData(DWORD addressOfRawData) { IMAGE_DEBUG_DIRECTORY::AddressOfRawData=addressOfRawData; } inline DWORD ImageDebugDirectory::pointerToRawData(void)const { return IMAGE_DEBUG_DIRECTORY::PointerToRawData; } inline void ImageDebugDirectory::pointerToRawData(DWORD pointerToRawData) { IMAGE_DEBUG_DIRECTORY::PointerToRawData; } #endif