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

Handler class for the NtQueryMultipleValueKey system call. More...

#include <NtQueryMultipleValueKey.hh>

Inheritance diagram for introvirt::windows::nt::NtQueryMultipleValueKey:
Collaboration diagram for introvirt::windows::nt::NtQueryMultipleValueKey:

Public Member Functions

virtual uint64_t KeyHandle () const =0
 Getter for KeyHandle.
 
virtual guest_ptr< void > ValueEntriesPtr () const =0
 Getter for ValueEntriesPtr.
 
virtual uint32_t EntryCount () const =0
 Getter for EntryCount.
 
virtual guest_ptr< void > ValueBufferPtr () const =0
 Getter for ValueBufferPtr.
 
virtual guest_ptr< void > BufferLengthPtr () const =0
 Getter for BufferLengthPtr.
 
virtual guest_ptr< void > RequiredBufferLengthPtr () const =0
 Getter for RequiredBufferLengthPtr.
 
virtual void KeyHandle (uint64_t KeyHandle)=0
 Setter for KeyHandle.
 
virtual void ValueEntriesPtr (const guest_ptr< void > &pValueEntries)=0
 Setter for ValueEntriesPtr.
 
virtual void EntryCount (uint32_t EntryCount)=0
 Setter for EntryCount.
 
virtual void ValueBufferPtr (const guest_ptr< void > &pValueBuffer)=0
 Setter for ValueBufferPtr.
 
virtual void BufferLengthPtr (const guest_ptr< void > &pBufferLength)=0
 Setter for BufferLengthPtr.
 
virtual void RequiredBufferLengthPtr (const guest_ptr< void > &pRequiredBufferLength)=0
 Setter for RequiredBufferLengthPtr.
 
virtual uint32_t BufferLength () const =0
 
virtual void BufferLength (uint32_t BufferLength)=0
 
virtual uint32_t RequiredBufferLength () const =0
 
virtual void RequiredBufferLength (uint32_t RequiredBufferLength)=0
 
- Public Member Functions inherited from introvirt::windows::nt::NtSystemCall
virtual NTSTATUS result () const =0
 Get the result code.
 
virtual void result (NTSTATUS_CODE code)=0
 Set the result code.
 
- Public Member Functions inherited from introvirt::windows::WindowsSystemCall
virtual SystemCallIndex index () const =0
 Get the system call number.
 
- Public Member Functions inherited from introvirt::SystemCall
virtual const std::string & name () const =0
 Get the name of the system call.
 
virtual void write (std::ostream &os=std::cout) const =0
 Write a human-readable description of this system call.
 
virtual Json::Value json () const =0
 
virtual bool will_return () const =0
 
virtual void data (const std::string &key, const std::shared_ptr< void > &value)=0
 Store arbitrary data with the SystemCall.
 
virtual void data (const std::string &key, std::shared_ptr< void > &&value)=0
 Store arbitrary data with the SystemCall.
 
virtual std::shared_ptr< void > data (const std::string &key)=0
 Retrieve arbitrary data stored with the SystemCall.
 
virtual std::shared_ptr< const void > data (const std::string &key) const =0
 Retrieve arbitrary data stored with the SystemCall.
 
virtual bool supported () const =0
 Check if this system call is supported by a more specific handler.
 
virtual void handle_return_event (Event &event)=0
 Handle a system call return event.
 
virtual ~SystemCall ()=default
 Destroy the instance.
 

Static Public Member Functions

static NTSTATUS inject (uint64_t KeyHandle, const guest_ptr< void > &pValueEntries, uint32_t EntryCount, const guest_ptr< void > &pValueBuffer, uint32_t &BufferLength, uint32_t *RequiredBufferLength)
 

Detailed Description

Handler class for the NtQueryMultipleValueKey system call.

Member Function Documentation

◆ BufferLength() [1/2]

virtual uint32_t introvirt::windows::nt::NtQueryMultipleValueKey::BufferLength ( ) const
pure virtual

◆ BufferLength() [2/2]

virtual void introvirt::windows::nt::NtQueryMultipleValueKey::BufferLength ( uint32_t  BufferLength)
pure virtual

◆ BufferLengthPtr() [1/2]

virtual guest_ptr< void > introvirt::windows::nt::NtQueryMultipleValueKey::BufferLengthPtr ( ) const
pure virtual

Getter for BufferLengthPtr.

Returns
The address pointed to by the the BufferLengthPtr parameter

◆ BufferLengthPtr() [2/2]

virtual void introvirt::windows::nt::NtQueryMultipleValueKey::BufferLengthPtr ( const guest_ptr< void > &  pBufferLength)
pure virtual

Setter for BufferLengthPtr.

Parameters
pBufferLengthThe address to set for the BufferLengthPtr parameter

◆ EntryCount() [1/2]

virtual uint32_t introvirt::windows::nt::NtQueryMultipleValueKey::EntryCount ( ) const
pure virtual

Getter for EntryCount.

Returns
The value of the EntryCount parameter

◆ EntryCount() [2/2]

virtual void introvirt::windows::nt::NtQueryMultipleValueKey::EntryCount ( uint32_t  EntryCount)
pure virtual

Setter for EntryCount.

Parameters
EntryCountThe value to set for the EntryCount parameter

◆ inject()

static NTSTATUS introvirt::windows::nt::NtQueryMultipleValueKey::inject ( uint64_t  KeyHandle,
const guest_ptr< void > &  pValueEntries,
uint32_t  EntryCount,
const guest_ptr< void > &  pValueBuffer,
uint32_t &  BufferLength,
uint32_t *  RequiredBufferLength 
)
static

◆ KeyHandle() [1/2]

virtual uint64_t introvirt::windows::nt::NtQueryMultipleValueKey::KeyHandle ( ) const
pure virtual

Getter for KeyHandle.

Returns
The value of the KeyHandle parameter

◆ KeyHandle() [2/2]

virtual void introvirt::windows::nt::NtQueryMultipleValueKey::KeyHandle ( uint64_t  KeyHandle)
pure virtual

Setter for KeyHandle.

Parameters
KeyHandleThe value to set for the KeyHandle parameter

◆ RequiredBufferLength() [1/2]

virtual uint32_t introvirt::windows::nt::NtQueryMultipleValueKey::RequiredBufferLength ( ) const
pure virtual

◆ RequiredBufferLength() [2/2]

virtual void introvirt::windows::nt::NtQueryMultipleValueKey::RequiredBufferLength ( uint32_t  RequiredBufferLength)
pure virtual

◆ RequiredBufferLengthPtr() [1/2]

virtual guest_ptr< void > introvirt::windows::nt::NtQueryMultipleValueKey::RequiredBufferLengthPtr ( ) const
pure virtual

Getter for RequiredBufferLengthPtr.

Returns
The address pointed to by the the RequiredBufferLengthPtr parameter

◆ RequiredBufferLengthPtr() [2/2]

virtual void introvirt::windows::nt::NtQueryMultipleValueKey::RequiredBufferLengthPtr ( const guest_ptr< void > &  pRequiredBufferLength)
pure virtual

Setter for RequiredBufferLengthPtr.

Parameters
pRequiredBufferLengthThe address to set for the RequiredBufferLengthPtr parameter

◆ ValueBufferPtr() [1/2]

virtual guest_ptr< void > introvirt::windows::nt::NtQueryMultipleValueKey::ValueBufferPtr ( ) const
pure virtual

Getter for ValueBufferPtr.

Returns
The address pointed to by the the ValueBufferPtr parameter

◆ ValueBufferPtr() [2/2]

virtual void introvirt::windows::nt::NtQueryMultipleValueKey::ValueBufferPtr ( const guest_ptr< void > &  pValueBuffer)
pure virtual

Setter for ValueBufferPtr.

Parameters
pValueBufferThe address to set for the ValueBufferPtr parameter

◆ ValueEntriesPtr() [1/2]

virtual guest_ptr< void > introvirt::windows::nt::NtQueryMultipleValueKey::ValueEntriesPtr ( ) const
pure virtual

Getter for ValueEntriesPtr.

Returns
The address pointed to by the the ValueEntriesPtr parameter

◆ ValueEntriesPtr() [2/2]

virtual void introvirt::windows::nt::NtQueryMultipleValueKey::ValueEntriesPtr ( const guest_ptr< void > &  pValueEntries)
pure virtual

Setter for ValueEntriesPtr.

Parameters
pValueEntriesThe address to set for the ValueEntriesPtr parameter

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