This commit is contained in:
2024-08-07 09:16:27 -04:00
parent fdfadd5c7e
commit 5f971cf684
5200 changed files with 731717 additions and 0 deletions

77
image/KEYDIR.HPP Normal file
View 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