Initial
This commit is contained in:
77
image/KEYDIR.HPP
Normal file
77
image/KEYDIR.HPP
Normal file
@@ -0,0 +1,77 @@
|
||||
#ifndef _IMAGE_DIRECTORYENTRYKEY_HPP_
|
||||
#define _IMAGE_DIRECTORYENTRYKEY_HPP_
|
||||
#ifndef _COMMON_WINDOWS_HPP_
|
||||
#include <common/windows.hpp>
|
||||
#endif
|
||||
|
||||
class DirectoryEntryKey
|
||||
{
|
||||
public:
|
||||
enum Key{ExportDirectory=IMAGE_DIRECTORY_ENTRY_EXPORT,
|
||||
ImportDirectory=IMAGE_DIRECTORY_ENTRY_IMPORT,
|
||||
ResourceDirectory=IMAGE_DIRECTORY_ENTRY_RESOURCE,
|
||||
ExceptionDirectory=IMAGE_DIRECTORY_ENTRY_EXCEPTION,
|
||||
SecurityDirectory=IMAGE_DIRECTORY_ENTRY_SECURITY,
|
||||
BaseRelocationTableDirectory=IMAGE_DIRECTORY_ENTRY_BASERELOC,
|
||||
DebugDirectory=IMAGE_DIRECTORY_ENTRY_DEBUG,
|
||||
DescriptionStringDirectory=IMAGE_DIRECTORY_ENTRY_COPYRIGHT,
|
||||
MachineValueDirectory=IMAGE_DIRECTORY_ENTRY_GLOBALPTR,
|
||||
ThreadLocalStorageDirectory=IMAGE_DIRECTORY_ENTRY_TLS,
|
||||
LoadConfigurationDirectory=IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG,
|
||||
BoundImportDirectory=IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT,
|
||||
ImportAddressTableDirectory=IMAGE_DIRECTORY_ENTRY_IAT,
|
||||
// DelayImportDirectory=IMAGE_DIRECTORY_ENTRY_DELAY_IMPORT
|
||||
};
|
||||
DirectoryEntryKey(Key entryEntry=ImportDirectory);
|
||||
DirectoryEntryKey(const DirectoryEntryKey &someDirectoryEntryKey);
|
||||
virtual ~DirectoryEntryKey();
|
||||
DirectoryEntryKey &operator=(const DirectoryEntryKey &someDirectoryEntryKey);
|
||||
WORD operator==(const DirectoryEntryKey &someDirectoryEntryKey);
|
||||
Key entryKey(void)const;
|
||||
void entryKey(Key entryKey);
|
||||
private:
|
||||
Key mDirectoryKey;
|
||||
};
|
||||
|
||||
inline
|
||||
DirectoryEntryKey::DirectoryEntryKey(Key entryKey)
|
||||
: mDirectoryKey(entryKey)
|
||||
{
|
||||
}
|
||||
|
||||
inline
|
||||
DirectoryEntryKey::DirectoryEntryKey(const DirectoryEntryKey &someDirectoryEntryKey)
|
||||
{
|
||||
*this=someDirectoryEntryKey;
|
||||
}
|
||||
|
||||
inline
|
||||
DirectoryEntryKey::~DirectoryEntryKey()
|
||||
{
|
||||
}
|
||||
|
||||
inline
|
||||
DirectoryEntryKey &DirectoryEntryKey::operator=(const DirectoryEntryKey &someDirectoryEntryKey)
|
||||
{
|
||||
entryKey(someDirectoryEntryKey.entryKey());
|
||||
return *this;
|
||||
}
|
||||
|
||||
inline
|
||||
WORD DirectoryEntryKey::operator==(const DirectoryEntryKey &someDirectoryEntryKey)
|
||||
{
|
||||
return entryKey()==someDirectoryEntryKey.entryKey();
|
||||
}
|
||||
|
||||
inline
|
||||
DirectoryEntryKey::Key DirectoryEntryKey::entryKey(void)const
|
||||
{
|
||||
return mDirectoryKey;
|
||||
}
|
||||
|
||||
inline
|
||||
void DirectoryEntryKey::entryKey(Key entryKey)
|
||||
{
|
||||
mDirectoryKey=entryKey;
|
||||
}
|
||||
#endif
|
||||
Reference in New Issue
Block a user