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

Representation of the VarFileInfo structure. More...

#include <ResourceVarFileInfo.hpp>

Inheritance diagram for LIEF::PE::ResourceVarFileInfo:
Collaboration diagram for LIEF::PE::ResourceVarFileInfo:

Public Types

using vars_t = std::vector<ResourceVar>
 
using it_vars = ref_iterator<vars_t&>
 
using it_const_vars = const_ref_iterator<const vars_t&>
 
- 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>>>
 

Public Member Functions

 ResourceVarFileInfo ()=default
 
 ResourceVarFileInfo (const ResourceVarFileInfo &)=default
 
ResourceVarFileInfooperator= (const ResourceVarFileInfo &)=default
 
 ResourceVarFileInfo (ResourceVarFileInfo &&)=default
 
ResourceVarFileInfooperator= (ResourceVarFileInfo &&)=default
 
 ~ResourceVarFileInfo () override=default
 
uint16_t type () const
 The type of data in the version resource.
 
const std::u16string & key () const
 Signature of the structure. Must be the unicode string "VarFileInfo".
 
std::string key_u8 () const
 Key as an utf8 string.
 
it_vars vars ()
 Iterator over the embedded variables associated to the structure.
 
it_const_vars vars () const
 
ResourceVarFileInfotype (uint16_t type)
 
ResourceVarFileInfokey (std::u16string key)
 
void add_var (ResourceVar var)
 
void accept (Visitor &visitor) const override
 
- Public Member Functions inherited from LIEF::Object
 Object ()
 
 Object (const Object &other)
 
Objectoperator= (const Object &other)
 
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 ()
 

Static Public Member Functions

static result< ResourceVarFileInfoparse (BinaryStream &stream)
 

Detailed Description

Representation of the VarFileInfo structure.

This structure represents the organization of data in a file-version resource. It contains version information not dependent on a particular language and code page combination.

See: https://learn.microsoft.com/en-us/windows/win32/menurc/varfileinfo

Member Typedef Documentation

◆ it_const_vars

◆ it_vars

◆ vars_t

Constructor & Destructor Documentation

◆ ResourceVarFileInfo() [1/3]

LIEF::PE::ResourceVarFileInfo::ResourceVarFileInfo ( )
default

◆ ResourceVarFileInfo() [2/3]

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

◆ ResourceVarFileInfo() [3/3]

LIEF::PE::ResourceVarFileInfo::ResourceVarFileInfo ( ResourceVarFileInfo && )
default

◆ ~ResourceVarFileInfo()

LIEF::PE::ResourceVarFileInfo::~ResourceVarFileInfo ( )
overridedefault

Member Function Documentation

◆ accept()

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

Implements LIEF::Object.

◆ add_var()

void LIEF::PE::ResourceVarFileInfo::add_var ( ResourceVar var)
inline

◆ key() [1/2]

const std::u16string & LIEF::PE::ResourceVarFileInfo::key ( ) const
inline

Signature of the structure. Must be the unicode string "VarFileInfo".

◆ key() [2/2]

ResourceVarFileInfo & LIEF::PE::ResourceVarFileInfo::key ( std::u16string key)
inline

◆ key_u8()

std::string LIEF::PE::ResourceVarFileInfo::key_u8 ( ) const

Key as an utf8 string.

◆ operator=() [1/2]

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

◆ operator=() [2/2]

ResourceVarFileInfo & LIEF::PE::ResourceVarFileInfo::operator= ( ResourceVarFileInfo && )
default

◆ parse()

static result< ResourceVarFileInfo > LIEF::PE::ResourceVarFileInfo::parse ( BinaryStream & stream)
static

◆ type() [1/2]

uint16_t LIEF::PE::ResourceVarFileInfo::type ( ) const
inline

The type of data in the version resource.

  • 1 if it contains text data
  • 0 if it contains binary data

◆ type() [2/2]

ResourceVarFileInfo & LIEF::PE::ResourceVarFileInfo::type ( uint16_t type)
inline

◆ vars() [1/2]

it_vars LIEF::PE::ResourceVarFileInfo::vars ( )
inline

Iterator over the embedded variables associated to the structure.

◆ vars() [2/2]

it_const_vars LIEF::PE::ResourceVarFileInfo::vars ( ) const
inline

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