libintrovirt v0.57.4
IntroVirt introspection library
Loading...
Searching...
No Matches
introvirt::windows::nt::KEY_VALUE_INFORMATION Class Referenceabstract

An abstract class reprseneting a more specific key information buffer. More...

#include <KEY_VALUE_INFORMATION.hh>

Inheritance diagram for introvirt::windows::nt::KEY_VALUE_INFORMATION:

Public Member Functions

virtual uint32_t TitleIndex () const =0
 Get the TitleIndex parameter.
 
virtual void TitleIndex (uint32_t TitleIndex)=0
 Set the TitleIndex parameter.
 
virtual REG_TYPE Type () const =0
 Get the type of key value data.
 
virtual void Type (REG_TYPE Type)=0
 Set the type of key value data.
 
virtual const std::string & Name () const =0
 Get the "Name" value if present.
 
virtual KEY_VALUEData ()=0
 Get the "Data" value if present.
 
virtual const KEY_VALUEData () const =0
 Get the "Data" value if present.
 
virtual KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass () const =0
 Get the type of key value information held in the buffer.
 
virtual guest_ptr< void > ptr () const =0
 Get the address that the buffer is at.
 
virtual uint32_t buffer_size () const =0
 Get the size of the buffer.
 
virtual void write (std::ostream &os, const std::string &linePrefix="") const =0
 Write a description to the ostream.
 
virtual Json::Value json () const =0
 Return the file system information class as a JSON representation.
 
virtual ~KEY_VALUE_INFORMATION ()=default
 

Static Public Member Functions

static std::unique_ptr< KEY_VALUE_INFORMATIONmake_unique (const NtKernel &kernel, KEY_VALUE_INFORMATION_CLASS information_class, const guest_ptr< void > &ptr, uint32_t buffer_size)
 Create a KEY_VALUE_INFORMATION parser instance.
 

Detailed Description

An abstract class reprseneting a more specific key information buffer.

Constructor & Destructor Documentation

◆ ~KEY_VALUE_INFORMATION()

virtual introvirt::windows::nt::KEY_VALUE_INFORMATION::~KEY_VALUE_INFORMATION ( )
virtualdefault

Member Function Documentation

◆ buffer_size()

virtual uint32_t introvirt::windows::nt::KEY_VALUE_INFORMATION::buffer_size ( ) const
pure virtual

Get the size of the buffer.

Returns
uint32_t

◆ Data() [1/2]

virtual const KEY_VALUE * introvirt::windows::nt::KEY_VALUE_INFORMATION::Data ( ) const
pure virtual

Get the "Data" value if present.

Returns nullptr of Data is not part of the buffer. For example, KEY_VALUE_BASIC_INFORMATION does not have a Data value.

Returns
const KEY_VALUE*

◆ Data() [2/2]

virtual KEY_VALUE * introvirt::windows::nt::KEY_VALUE_INFORMATION::Data ( )
pure virtual

Get the "Data" value if present.

Returns nullptr of Data is not part of the buffer. For example, KEY_VALUE_BASIC_INFORMATION does not have a Data value.

Returns
const KEY_VALUE*

◆ json()

virtual Json::Value introvirt::windows::nt::KEY_VALUE_INFORMATION::json ( ) const
pure virtual

Return the file system information class as a JSON representation.

Returns
Json::Value

◆ KeyValueInformationClass()

virtual KEY_VALUE_INFORMATION_CLASS introvirt::windows::nt::KEY_VALUE_INFORMATION::KeyValueInformationClass ( ) const
pure virtual

Get the type of key value information held in the buffer.

Returns
KEY_VALUE_INFORMATION_CLASS

◆ make_unique()

static std::unique_ptr< KEY_VALUE_INFORMATION > introvirt::windows::nt::KEY_VALUE_INFORMATION::make_unique ( const NtKernel kernel,
KEY_VALUE_INFORMATION_CLASS  information_class,
const guest_ptr< void > &  ptr,
uint32_t  buffer_size 
)
static

Create a KEY_VALUE_INFORMATION parser instance.

Parameters
kernelThe kernel of the guest
information_classThe type of information contained in the buffer
ptrThe address of the information in the guest
buffer_sizeThe size of the information buffer

◆ Name()

virtual const std::string & introvirt::windows::nt::KEY_VALUE_INFORMATION::Name ( ) const
pure virtual

Get the "Name" value if present.

Returns an empty string if Name is not part of the buffer. For example, KEY_VALUE_PARTIAL_INFORMATION does not have a Name value.

Returns
const std::string&

Implemented in introvirt::windows::nt::KEY_VALUE_BASIC_INFORMATION, and introvirt::windows::nt::KEY_VALUE_FULL_INFORMATION.

◆ ptr()

virtual guest_ptr< void > introvirt::windows::nt::KEY_VALUE_INFORMATION::ptr ( ) const
pure virtual

Get the address that the buffer is at.

Returns
guest_ptr<void>

◆ TitleIndex() [1/2]

virtual uint32_t introvirt::windows::nt::KEY_VALUE_INFORMATION::TitleIndex ( ) const
pure virtual

Get the TitleIndex parameter.

Returns
uint32_t

◆ TitleIndex() [2/2]

virtual void introvirt::windows::nt::KEY_VALUE_INFORMATION::TitleIndex ( uint32_t  TitleIndex)
pure virtual

Set the TitleIndex parameter.

Parameters
TitleIndex

◆ Type() [1/2]

virtual REG_TYPE introvirt::windows::nt::KEY_VALUE_INFORMATION::Type ( ) const
pure virtual

Get the type of key value data.

Returns
REG_TYPE

◆ Type() [2/2]

virtual void introvirt::windows::nt::KEY_VALUE_INFORMATION::Type ( REG_TYPE  Type)
pure virtual

Set the type of key value data.

Parameters
Type

◆ write()

virtual void introvirt::windows::nt::KEY_VALUE_INFORMATION::write ( std::ostream &  os,
const std::string &  linePrefix = "" 
) const
pure virtual

Write a description to the ostream.

Parameters
osThe output stream to write to
linePrefixThe prefix written before each line

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