20 #ifndef PSYSTEM_DLL_EXPORT_ITERATOR_HPP
21 #define PSYSTEM_DLL_EXPORT_ITERATOR_HPP
78 uint8_t
const *base_address,
81 uint32_t
const *export_rva,
82 uint16_t
const *idx_with_name,
83 uint32_t
const *export_name_rva)
noexcept;
130 return reinterpret_cast<char const*
>(
186 #endif // PSYSTEM_DLL_EXPORT_ITERATOR_HPP
dll_export_iterator & operator++()
Prefix increment.
Definition: dll_export_iterator.cpp:66
Iterator type for Windows Dynamic Link-Library (DLL) exports.
Definition: dll_export_iterator.hpp:50
uint32_t const * m_export_name_rva
Pointer to the array of exported symbol names.
Definition: dll_export_iterator.hpp:181
uint16_t const * m_idx_with_name
Pointer in the array of export indices that have names.
Definition: dll_export_iterator.hpp:155
char const * get_export_name() const
Retrieve the name of the current exported symbol.
Definition: dll_export_iterator.hpp:128
The basic header file for the PSystem namespce.
Contains the process examination "system" and basic frameworks.
Definition: pstack_event_handler.hpp:28
std::ptrdiff_t integral_address_t
A memory address as an integer type (platform specific).
Definition: platform.hpp:228
uint16_t m_current_idx
Index to the current exported symbol.
Definition: dll_export_iterator.hpp:158
bool operator!=(dll_export_iterator const &other) const
Determine the inequality of two instances.
Definition: dll_export_iterator.cpp:56
dll_export_iterator(uint8_t const *base_address, integral_address_t const va_offset, uint16_t const index, uint32_t const *export_rva, uint16_t const *idx_with_name, uint32_t const *export_name_rva) noexcept
Construct an instance of this DLL export iterator.
Definition: dll_export_iterator.cpp:26
integral_address_t m_va_offset
Offset required to translate the virtual address to a raw data pointer.
Definition: dll_export_iterator.hpp:145
uint8_t const * m_base_address
Address to the memory-mapped DLL image.
Definition: dll_export_iterator.hpp:139
bool operator==(dll_export_iterator const &other) const
Determine the equality of two instances.
Definition: dll_export_iterator.cpp:48
uint32_t const * m_export_rva
Pointer to the array of addresses of the exported symbols.
Definition: dll_export_iterator.hpp:168