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

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

#include <NtCreateProcessBase.hh>

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

Public Member Functions

virtual guest_ptr< void > ProcessHandlePtr () const =0
 Getter for ProcessHandlePtr.
 
virtual PROCESS_ACCESS_MASK DesiredAccess () const =0
 Getter for DesiredAccess.
 
virtual guest_ptr< void > ObjectAttributesPtr () const =0
 Getter for ObjectAttributesPtr.
 
virtual uint64_t ParentProcess () const =0
 Getter for ParentProcess.
 
virtual uint64_t SectionHandle () const =0
 Getter for SectionHandle.
 
virtual uint64_t DebugPort () const =0
 Getter for DebugPort.
 
virtual uint64_t ExceptionPort () const =0
 Getter for ExceptionPort.
 
virtual void ProcessHandlePtr (const guest_ptr< void > &pProcessHandle)=0
 Setter for ProcessHandlePtr.
 
virtual void DesiredAccess (PROCESS_ACCESS_MASK DesiredAccess)=0
 Setter for DesiredAccess.
 
virtual void ObjectAttributesPtr (const guest_ptr< void > &pObjectAttributes)=0
 Setter for ObjectAttributesPtr.
 
virtual void ParentProcess (uint64_t ParentProcess)=0
 Setter for ParentProcess.
 
virtual void SectionHandle (uint64_t SectionHandle)=0
 Setter for SectionHandle.
 
virtual void DebugPort (uint64_t DebugPort)=0
 Setter for DebugPort.
 
virtual void ExceptionPort (uint64_t ExceptionPort)=0
 Setter for ExceptionPort.
 
virtual uint64_t ProcessHandle () const =0
 
virtual void ProcessHandle (uint64_t ProcessHandle)=0
 
virtual const OBJECT_ATTRIBUTESObjectAttributes () const =0
 
virtual OBJECT_ATTRIBUTESObjectAttributes ()=0
 
virtual std::shared_ptr< PROCESSget_new_process ()=0
 Get the newly created PROCESS object.
 
virtual const std::shared_ptr< PROCESSget_new_process () const =0
 Get the newly created PROCESS object.
 
- 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.
 

Detailed Description

Handler class for the NtCreateProcessBase system call.

Member Function Documentation

◆ DebugPort() [1/2]

virtual uint64_t introvirt::windows::nt::NtCreateProcessBase::DebugPort ( ) const
pure virtual

Getter for DebugPort.

Returns
The value of the DebugPort parameter

◆ DebugPort() [2/2]

virtual void introvirt::windows::nt::NtCreateProcessBase::DebugPort ( uint64_t  DebugPort)
pure virtual

Setter for DebugPort.

Parameters
DebugPortThe value to set for the DebugPort parameter

◆ DesiredAccess() [1/2]

virtual PROCESS_ACCESS_MASK introvirt::windows::nt::NtCreateProcessBase::DesiredAccess ( ) const
pure virtual

Getter for DesiredAccess.

Returns
The value of the DesiredAccess parameter

◆ DesiredAccess() [2/2]

virtual void introvirt::windows::nt::NtCreateProcessBase::DesiredAccess ( PROCESS_ACCESS_MASK  DesiredAccess)
pure virtual

Setter for DesiredAccess.

Parameters
DesiredAccessThe value to set for the DesiredAccess parameter

◆ ExceptionPort() [1/2]

virtual uint64_t introvirt::windows::nt::NtCreateProcessBase::ExceptionPort ( ) const
pure virtual

Getter for ExceptionPort.

Returns
The value of the ExceptionPort parameter

◆ ExceptionPort() [2/2]

virtual void introvirt::windows::nt::NtCreateProcessBase::ExceptionPort ( uint64_t  ExceptionPort)
pure virtual

Setter for ExceptionPort.

Parameters
ExceptionPortThe value to set for the ExceptionPort parameter

◆ get_new_process() [1/2]

virtual const std::shared_ptr< PROCESS > introvirt::windows::nt::NtCreateProcessBase::get_new_process ( ) const
pure virtual

Get the newly created PROCESS object.

Returns
The newly created process, or nullptr on error
Exceptions
InvalidMethodExceptionif the system call has not returned

◆ get_new_process() [2/2]

virtual std::shared_ptr< PROCESS > introvirt::windows::nt::NtCreateProcessBase::get_new_process ( )
pure virtual

Get the newly created PROCESS object.

Returns
The newly created process, or nullptr on error
Exceptions
InvalidMethodExceptionif the system call has not returned

◆ ObjectAttributes() [1/2]

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

◆ ObjectAttributes() [2/2]

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

◆ ObjectAttributesPtr() [1/2]

virtual guest_ptr< void > introvirt::windows::nt::NtCreateProcessBase::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::NtCreateProcessBase::ObjectAttributesPtr ( const guest_ptr< void > &  pObjectAttributes)
pure virtual

Setter for ObjectAttributesPtr.

Parameters
pObjectAttributesThe address to set for the ObjectAttributesPtr parameter

◆ ParentProcess() [1/2]

virtual uint64_t introvirt::windows::nt::NtCreateProcessBase::ParentProcess ( ) const
pure virtual

Getter for ParentProcess.

Returns
The value of the ParentProcess parameter

◆ ParentProcess() [2/2]

virtual void introvirt::windows::nt::NtCreateProcessBase::ParentProcess ( uint64_t  ParentProcess)
pure virtual

Setter for ParentProcess.

Parameters
ParentProcessThe value to set for the ParentProcess parameter

◆ ProcessHandle() [1/2]

virtual uint64_t introvirt::windows::nt::NtCreateProcessBase::ProcessHandle ( ) const
pure virtual

◆ ProcessHandle() [2/2]

virtual void introvirt::windows::nt::NtCreateProcessBase::ProcessHandle ( uint64_t  ProcessHandle)
pure virtual

◆ ProcessHandlePtr() [1/2]

virtual guest_ptr< void > introvirt::windows::nt::NtCreateProcessBase::ProcessHandlePtr ( ) const
pure virtual

Getter for ProcessHandlePtr.

Returns
The address pointed to by the the ProcessHandlePtr parameter

◆ ProcessHandlePtr() [2/2]

virtual void introvirt::windows::nt::NtCreateProcessBase::ProcessHandlePtr ( const guest_ptr< void > &  pProcessHandle)
pure virtual

Setter for ProcessHandlePtr.

Parameters
pProcessHandleThe address to set for the ProcessHandlePtr parameter

◆ SectionHandle() [1/2]

virtual uint64_t introvirt::windows::nt::NtCreateProcessBase::SectionHandle ( ) const
pure virtual

Getter for SectionHandle.

Returns
The value of the SectionHandle parameter

◆ SectionHandle() [2/2]

virtual void introvirt::windows::nt::NtCreateProcessBase::SectionHandle ( uint64_t  SectionHandle)
pure virtual

Setter for SectionHandle.

Parameters
SectionHandleThe value to set for the SectionHandle parameter

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