LIEF: Library to Instrument Executable Formats Version 0.17.0
Loading...
Searching...
No Matches
LIEF::PE::DelayImportEntry Class Reference

Class that represents an entry (i.e. an import) in the delay import table (DelayImport). More...

#include <DelayImportEntry.hpp>

Inheritance diagram for LIEF::PE::DelayImportEntry:
Collaboration diagram for LIEF::PE::DelayImportEntry:

Public Member Functions

 DelayImportEntry ()=default
 DelayImportEntry (uint64_t data, PE_TYPE type)
 DelayImportEntry (const DelayImportEntry &)=default
DelayImportEntryoperator= (const DelayImportEntry &)=default
 DelayImportEntry (DelayImportEntry &&) noexcept=default
DelayImportEntryoperator= (DelayImportEntry &&) noexcept=default
 ~DelayImportEntry () override=default
std::string demangled_name () const
 Demangled representation of the symbol or an empty string if it can't be demangled.
bool is_ordinal () const
 True if it is an import by ordinal
uint16_t ordinal () const
 The ordinal value.
uint64_t hint_name_rva () const
uint16_t hint () const
 Index into the Export::entries that is used to speed-up the symbol resolution.
uint64_t iat_value () const
 Value of the current entry in the Import Address Table.
uint64_t data () const
 Raw value.
void data (uint64_t data)
void accept (Visitor &visitor) const override
Public Member Functions inherited from LIEF::Symbol
 Symbol ()=default
 Symbol (std::string name)
 Symbol (std::string name, uint64_t value)
 Symbol (std::string name, uint64_t value, uint64_t size)
 Symbol (const Symbol &)=default
Symboloperator= (const Symbol &)=default
 Symbol (Symbol &&)=default
Symboloperator= (Symbol &&)=default
 ~Symbol () override=default
void swap (Symbol &other) noexcept
virtual const std::string & name () const
 Return the symbol's name.
virtual std::string & name ()
virtual void name (std::string name)
 Set symbol name.
virtual uint64_t value () const
virtual void value (uint64_t value)
virtual uint64_t size () const
 This size of the symbol (when applicable).
virtual void size (uint64_t value)
void accept (Visitor &visitor) const override
 Method so that the visitor can visit us.
Public Member Functions inherited from LIEF::Object
 Object ()
 Object (const Object &other)
Objectoperator= (const Object &other)
 Object (Object &&other) noexcept=default
Objectoperator= (Object &&other) noexcept=default
template<class T>
output_t< T > as ()
template<class T>
output_const_t< T > as () const
virtual bool operator== (const Object &other) const
virtual bool operator!= (const Object &other) const
virtual ~Object ()

Additional Inherited Members

Public Types inherited from LIEF::Object
template<class T>
using output_t = add_pointer_t<decay_t<T>>
template<class T>
using output_const_t = add_pointer_t<add_const_t<decay_t<T>>>

Detailed Description

Class that represents an entry (i.e. an import) in the delay import table (DelayImport).

It extends the LIEF::Symbol generic class that exposes the LIEF::Symbol::name and LIEF::Symbol::value API.

The meaning of LIEF::Symbol::value for this PE object is the address (as an RVA) in the IAT where the resolution should take place.

Constructor & Destructor Documentation

◆ DelayImportEntry() [1/4]

LIEF::PE::DelayImportEntry::DelayImportEntry ( )
default

◆ DelayImportEntry() [2/4]

LIEF::PE::DelayImportEntry::DelayImportEntry ( uint64_t data,
PE_TYPE type )
inline

References data().

◆ DelayImportEntry() [3/4]

LIEF::PE::DelayImportEntry::DelayImportEntry ( const DelayImportEntry & )
default

References DelayImportEntry().

◆ DelayImportEntry() [4/4]

LIEF::PE::DelayImportEntry::DelayImportEntry ( DelayImportEntry && )
defaultnoexcept

References DelayImportEntry().

◆ ~DelayImportEntry()

LIEF::PE::DelayImportEntry::~DelayImportEntry ( )
overridedefault

References DelayImportEntry().

Member Function Documentation

◆ accept()

void LIEF::PE::DelayImportEntry::accept ( Visitor & visitor) const
overridevirtual

Implements LIEF::Object.

◆ data() [1/2]

uint64_t LIEF::PE::DelayImportEntry::data ( ) const
inline

Raw value.

Referenced by data(), DelayImportEntry(), and hint_name_rva().

◆ data() [2/2]

void LIEF::PE::DelayImportEntry::data ( uint64_t data)
inline

References data().

◆ demangled_name()

std::string LIEF::PE::DelayImportEntry::demangled_name ( ) const

Demangled representation of the symbol or an empty string if it can't be demangled.

References demangled_name().

Referenced by demangled_name().

◆ hint()

uint16_t LIEF::PE::DelayImportEntry::hint ( ) const
inline

Index into the Export::entries that is used to speed-up the symbol resolution.

◆ hint_name_rva()

uint64_t LIEF::PE::DelayImportEntry::hint_name_rva ( ) const
inline
See also
DelayImportEntry::data

References data().

◆ iat_value()

uint64_t LIEF::PE::DelayImportEntry::iat_value ( ) const
inline

Value of the current entry in the Import Address Table.

◆ is_ordinal()

bool LIEF::PE::DelayImportEntry::is_ordinal ( ) const

True if it is an import by ordinal

References is_ordinal().

Referenced by is_ordinal().

◆ operator=() [1/2]

DelayImportEntry & LIEF::PE::DelayImportEntry::operator= ( const DelayImportEntry & )
default

References DelayImportEntry().

◆ operator=() [2/2]

DelayImportEntry & LIEF::PE::DelayImportEntry::operator= ( DelayImportEntry && )
defaultnoexcept

References DelayImportEntry().

◆ ordinal()

uint16_t LIEF::PE::DelayImportEntry::ordinal ( ) const
inline

The ordinal value.

References ordinal().

Referenced by ordinal().


The documentation for this class was generated from the following file: