192 lines
4.7 KiB
C++
192 lines
4.7 KiB
C++
#ifndef _IMAGE_IMAGEDEBUGDIRECTORY_HPP_
|
|
#define _IMAGE_IMAGEDEBUGDIRECTORY_HPP_
|
|
#ifndef _COMMON_WINDOWS_HPP_
|
|
#include <common/windows.hpp>
|
|
#endif
|
|
#ifndef _COMMON_PUREVIEWOFFILE_HPP_
|
|
#include <common/pview.hpp>
|
|
#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
|