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

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

#include <NtCreateKey.hh>

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

Public Member Functions

virtual guest_ptr< void > KeyHandlePtr () const =0
 Getter for KeyHandlePtr.
 
virtual KEY_ACCESS_MASK DesiredAccess () const =0
 Getter for DesiredAccess.
 
virtual guest_ptr< void > ObjectAttributesPtr () const =0
 Getter for ObjectAttributesPtr.
 
virtual uint32_t TitleIndex () const =0
 Getter for TitleIndex.
 
virtual guest_ptr< void > ClassPtr () const =0
 Getter for ClassPtr.
 
virtual RegistryCreateOptions CreateOptions () const =0
 Getter for CreateOptions.
 
virtual guest_ptr< void > DispositionPtr () const =0
 Getter for DispositionPtr.
 
virtual void KeyHandlePtr (const guest_ptr< void > &pKeyHandle)=0
 Setter for KeyHandlePtr.
 
virtual void DesiredAccess (KEY_ACCESS_MASK DesiredAccess)=0
 Setter for DesiredAccess.
 
virtual void ObjectAttributesPtr (const guest_ptr< void > &pObjectAttributes)=0
 Setter for ObjectAttributesPtr.
 
virtual void TitleIndex (uint32_t TitleIndex)=0
 Setter for TitleIndex.
 
virtual void ClassPtr (const guest_ptr< void > &pClass)=0
 Setter for ClassPtr.
 
virtual void CreateOptions (RegistryCreateOptions CreateOptions)=0
 Setter for CreateOptions.
 
virtual void DispositionPtr (const guest_ptr< void > &pDisposition)=0
 Setter for DispositionPtr.
 
virtual uint64_t KeyHandle () const =0
 
virtual void KeyHandle (uint64_t KeyHandle)=0
 
virtual const OBJECT_ATTRIBUTESObjectAttributes () const =0
 
virtual OBJECT_ATTRIBUTESObjectAttributes ()=0
 
virtual const UNICODE_STRINGClass () const =0
 
virtual UNICODE_STRINGClass ()=0
 
virtual CreateKeyDisposition Disposition () const =0
 
virtual void Disposition (CreateKeyDisposition Disposition)=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, KEY_ACCESS_MASK DesiredAccess, const guest_ptr< void > &pObjectAttributes, uint32_t TitleIndex, const UNICODE_STRING *Class, RegistryCreateOptions CreateOptions, CreateKeyDisposition *Disposition)
 

Detailed Description

Handler class for the NtCreateKey system call.

Member Function Documentation

◆ Class() [1/2]

virtual const UNICODE_STRING * introvirt::windows::nt::NtCreateKey::Class ( ) const
pure virtual

◆ Class() [2/2]

virtual UNICODE_STRING * introvirt::windows::nt::NtCreateKey::Class ( )
pure virtual

◆ ClassPtr() [1/2]

virtual guest_ptr< void > introvirt::windows::nt::NtCreateKey::ClassPtr ( ) const
pure virtual

Getter for ClassPtr.

Returns
The address pointed to by the the ClassPtr parameter

◆ ClassPtr() [2/2]

virtual void introvirt::windows::nt::NtCreateKey::ClassPtr ( const guest_ptr< void > &  pClass)
pure virtual

Setter for ClassPtr.

Parameters
pClassThe address to set for the ClassPtr parameter

◆ CreateOptions() [1/2]

virtual RegistryCreateOptions introvirt::windows::nt::NtCreateKey::CreateOptions ( ) const
pure virtual

Getter for CreateOptions.

Returns
The value of the CreateOptions parameter

◆ CreateOptions() [2/2]

virtual void introvirt::windows::nt::NtCreateKey::CreateOptions ( RegistryCreateOptions  CreateOptions)
pure virtual

Setter for CreateOptions.

Parameters
CreateOptionsThe value to set for the CreateOptions parameter

◆ DesiredAccess() [1/2]

virtual KEY_ACCESS_MASK introvirt::windows::nt::NtCreateKey::DesiredAccess ( ) const
pure virtual

Getter for DesiredAccess.

Returns
The value of the DesiredAccess parameter

◆ DesiredAccess() [2/2]

virtual void introvirt::windows::nt::NtCreateKey::DesiredAccess ( KEY_ACCESS_MASK  DesiredAccess)
pure virtual

Setter for DesiredAccess.

Parameters
DesiredAccessThe value to set for the DesiredAccess parameter

◆ Disposition() [1/2]

virtual CreateKeyDisposition introvirt::windows::nt::NtCreateKey::Disposition ( ) const
pure virtual

◆ Disposition() [2/2]

virtual void introvirt::windows::nt::NtCreateKey::Disposition ( CreateKeyDisposition  Disposition)
pure virtual

◆ DispositionPtr() [1/2]

virtual guest_ptr< void > introvirt::windows::nt::NtCreateKey::DispositionPtr ( ) const
pure virtual

Getter for DispositionPtr.

Returns
The address pointed to by the the DispositionPtr parameter

◆ DispositionPtr() [2/2]

virtual void introvirt::windows::nt::NtCreateKey::DispositionPtr ( const guest_ptr< void > &  pDisposition)
pure virtual

Setter for DispositionPtr.

Parameters
pDispositionThe address to set for the DispositionPtr parameter

◆ inject()

static NTSTATUS introvirt::windows::nt::NtCreateKey::inject ( uint64_t &  KeyHandle,
KEY_ACCESS_MASK  DesiredAccess,
const guest_ptr< void > &  pObjectAttributes,
uint32_t  TitleIndex,
const UNICODE_STRING Class,
RegistryCreateOptions  CreateOptions,
CreateKeyDisposition Disposition 
)
static

◆ KeyHandle() [1/2]

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

◆ KeyHandle() [2/2]

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

◆ KeyHandlePtr() [1/2]

virtual guest_ptr< void > introvirt::windows::nt::NtCreateKey::KeyHandlePtr ( ) const
pure virtual

Getter for KeyHandlePtr.

Returns
The address pointed to by the the KeyHandlePtr parameter

◆ KeyHandlePtr() [2/2]

virtual void introvirt::windows::nt::NtCreateKey::KeyHandlePtr ( const guest_ptr< void > &  pKeyHandle)
pure virtual

Setter for KeyHandlePtr.

Parameters
pKeyHandleThe address to set for the KeyHandlePtr parameter

◆ ObjectAttributes() [1/2]

virtual const OBJECT_ATTRIBUTES * introvirt::windows::nt::NtCreateKey::ObjectAttributes ( ) const
pure virtual

◆ ObjectAttributes() [2/2]

virtual OBJECT_ATTRIBUTES * introvirt::windows::nt::NtCreateKey::ObjectAttributes ( )
pure virtual

◆ ObjectAttributesPtr() [1/2]

virtual guest_ptr< void > introvirt::windows::nt::NtCreateKey::ObjectAttributesPtr ( ) const
pure virtual

Getter for ObjectAttributesPtr.

Returns
The address pointed to by the the ObjectAttributesPtr parameter

◆ ObjectAttributesPtr() [2/2]

virtual void introvirt::windows::nt::NtCreateKey::ObjectAttributesPtr ( const guest_ptr< void > &  pObjectAttributes)
pure virtual

Setter for ObjectAttributesPtr.

Parameters
pObjectAttributesThe address to set for the ObjectAttributesPtr parameter

◆ TitleIndex() [1/2]

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

Getter for TitleIndex.

Returns
The value of the TitleIndex parameter

◆ TitleIndex() [2/2]

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

Setter for TitleIndex.

Parameters
TitleIndexThe value to set for the TitleIndex parameter

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