#ifndef _IMAGE_IMAGEDATADIRECTORY_HPP_ #define _IMAGE_IMAGEDATADIRECTORY_HPP_ #ifndef _COMMON_WINDOWS_HPP_ #include #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