70 lines
1.8 KiB
C++
70 lines
1.8 KiB
C++
#ifndef _IMAGE_IMAGEDATADIRECTORY_HPP_
|
|
#define _IMAGE_IMAGEDATADIRECTORY_HPP_
|
|
#ifndef _COMMON_WINDOWS_HPP_
|
|
#include <common/windows.hpp>
|
|
#endif
|
|
|
|
class ImageDataDirectory : private _IMAGE_DATA_DIRECTORY
|
|
{
|
|
public:
|
|
ImageDataDirectory(void);
|
|
ImageDataDirectory(const ImageDataDirectory &someImageDataDirectory);
|
|
ImageDataDirectory(const _IMAGE_DATA_DIRECTORY &someImageDataDirectory);
|
|
~ImageDataDirectory();
|
|
ImageDataDirectory &operator=(const ImageDataDirectory &someImageDataDirectory);
|
|
WORD operator==(const ImageDataDirectory &someImageDataDirectory)const;
|
|
DWORD virtualAddress(void)const;
|
|
DWORD size(void)const;
|
|
private:
|
|
};
|
|
|
|
inline
|
|
ImageDataDirectory::ImageDataDirectory(void)
|
|
{
|
|
::memset((char*)&((_IMAGE_DATA_DIRECTORY&)*this),0,sizeof(_IMAGE_DATA_DIRECTORY));
|
|
}
|
|
|
|
inline
|
|
ImageDataDirectory::ImageDataDirectory(const ImageDataDirectory &someImageDataDirectory)
|
|
{
|
|
*this=someImageDataDirectory;
|
|
}
|
|
|
|
inline
|
|
ImageDataDirectory::ImageDataDirectory(const _IMAGE_DATA_DIRECTORY &someImageDataDirectory)
|
|
{
|
|
::memcpy((char*)&((_IMAGE_DATA_DIRECTORY&)*this),(char*)&someImageDataDirectory,sizeof(_IMAGE_DATA_DIRECTORY));
|
|
}
|
|
|
|
inline
|
|
ImageDataDirectory::~ImageDataDirectory()
|
|
{
|
|
}
|
|
|
|
inline
|
|
ImageDataDirectory &ImageDataDirectory::operator=(const ImageDataDirectory &someImageDataDirectory)
|
|
{
|
|
::memcpy((char*)&((_IMAGE_DATA_DIRECTORY&)*this),(char*)&((_IMAGE_DATA_DIRECTORY&)someImageDataDirectory),sizeof(_IMAGE_DATA_DIRECTORY));
|
|
return *this;
|
|
}
|
|
|
|
inline
|
|
WORD ImageDataDirectory::operator==(const ImageDataDirectory &someImageDataDirectory)const
|
|
{
|
|
return (virtualAddress()==someImageDataDirectory.virtualAddress()&&
|
|
size()==someImageDataDirectory.size());
|
|
}
|
|
|
|
inline
|
|
DWORD ImageDataDirectory::virtualAddress(void)const
|
|
{
|
|
return _IMAGE_DATA_DIRECTORY::VirtualAddress;
|
|
}
|
|
|
|
inline
|
|
DWORD ImageDataDirectory::size(void)const
|
|
{
|
|
return _IMAGE_DATA_DIRECTORY::Size;
|
|
}
|
|
#endif
|