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

#include <OBJECT_ATTRIBUTES.hh>

Public Types

enum  Attribute {
  OBJ_INHERIT = 0x00000002 , OBJ_PERMANENT = 0x00000010 , OBJ_EXCLUSIVE = 0x00000020 , OBJ_CASE_INSENSITIVE = 0x00000040 ,
  OBJ_OPENIF = 0x00000080 , OBJ_OPENLINK = 0x00000100 , OBJ_KERNEL_HANDLE = 0x00000200 , OBJ_FORCE_ACCESS_CHECK = 0x00000400 ,
  OBJ_VALID_ATTRIBUTES = 0x000007f2
}
 

Public Member Functions

virtual uint32_t Length () const =0
 
virtual uint64_t RootDirectory () const =0
 
virtual std::string ObjectName () const =0
 
virtual HANDLE_ATTRIBUTES Attributes () const =0
 
virtual bool isInheritable () const =0
 
virtual SECURITY_DESCRIPTORSecurityDescriptor ()=0
 
virtual const SECURITY_DESCRIPTORSecurityDescriptor () const =0
 
virtual SECURITY_QUALITY_OF_SERVICESecurityQualityOfService ()=0
 
virtual const SECURITY_QUALITY_OF_SERVICESecurityQualityOfService () const =0
 
virtual const std::string & FullPath (const KPCR &kpcr) const =0
 
virtual void Length (uint32_t Length=0xFFFFFFFF)=0
 
virtual void RootDirectory (uint64_t RootDirectory)=0
 
virtual void ObjectName (const std::string &ObjectName)=0
 
virtual void ObjectNamePtr (const guest_ptr< void > &pUnicodeString)=0
 
virtual void Attributes (HANDLE_ATTRIBUTES Attributes)=0
 
virtual void Inheritable (bool Inheritable)=0
 
virtual void SecurityQualityOfServicePtr (const guest_ptr< void > &pSecurityQualityOfService)=0
 
virtual guest_ptr< void > ptr () const =0
 
virtual void write (std::ostream &os, const std::string &linePrefix="") const =0
 
virtual Json::Value json () const =0
 
virtual ~OBJECT_ATTRIBUTES ()=default
 

Static Public Member Functions

static std::unique_ptr< OBJECT_ATTRIBUTESmake_unique (const NtKernel &kernel, const guest_ptr< void > &ptr)
 

Detailed Description

The OBJECT_ATTRIBUTES structure is used as a parameter in many Windows system calls.

Member Enumeration Documentation

◆ Attribute

Enumerator
OBJ_INHERIT 
OBJ_PERMANENT 
OBJ_EXCLUSIVE 
OBJ_CASE_INSENSITIVE 
OBJ_OPENIF 
OBJ_OPENLINK 
OBJ_KERNEL_HANDLE 
OBJ_FORCE_ACCESS_CHECK 
OBJ_VALID_ATTRIBUTES 

Constructor & Destructor Documentation

◆ ~OBJECT_ATTRIBUTES()

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

Member Function Documentation

◆ Attributes() [1/2]

virtual HANDLE_ATTRIBUTES introvirt::windows::nt::OBJECT_ATTRIBUTES::Attributes ( ) const
pure virtual

◆ Attributes() [2/2]

virtual void introvirt::windows::nt::OBJECT_ATTRIBUTES::Attributes ( HANDLE_ATTRIBUTES  Attributes)
pure virtual

◆ FullPath()

virtual const std::string & introvirt::windows::nt::OBJECT_ATTRIBUTES::FullPath ( const KPCR kpcr) const
pure virtual
Returns
The root directory's name plus the ObjectName

◆ Inheritable()

virtual void introvirt::windows::nt::OBJECT_ATTRIBUTES::Inheritable ( bool  Inheritable)
pure virtual

◆ isInheritable()

virtual bool introvirt::windows::nt::OBJECT_ATTRIBUTES::isInheritable ( ) const
pure virtual
Returns
True if the object is inheritable to child processes

◆ json()

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

◆ Length() [1/2]

virtual uint32_t introvirt::windows::nt::OBJECT_ATTRIBUTES::Length ( ) const
pure virtual

◆ Length() [2/2]

virtual void introvirt::windows::nt::OBJECT_ATTRIBUTES::Length ( uint32_t  Length = 0xFFFFFFFF)
pure virtual

◆ make_unique()

static std::unique_ptr< OBJECT_ATTRIBUTES > introvirt::windows::nt::OBJECT_ATTRIBUTES::make_unique ( const NtKernel kernel,
const guest_ptr< void > &  ptr 
)
static

◆ ObjectName() [1/2]

virtual std::string introvirt::windows::nt::OBJECT_ATTRIBUTES::ObjectName ( ) const
pure virtual
Returns
The ObjectName from the OBJECT_ATTRIBUTES, or NULL if one doesn't exist

◆ ObjectName() [2/2]

virtual void introvirt::windows::nt::OBJECT_ATTRIBUTES::ObjectName ( const std::string &  ObjectName)
pure virtual

◆ ObjectNamePtr()

virtual void introvirt::windows::nt::OBJECT_ATTRIBUTES::ObjectNamePtr ( const guest_ptr< void > &  pUnicodeString)
pure virtual

the ObjectName pointer to a new address

Parameters
pUnicodeStringThe address to

◆ ptr()

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

◆ RootDirectory() [1/2]

virtual uint64_t introvirt::windows::nt::OBJECT_ATTRIBUTES::RootDirectory ( ) const
pure virtual
Returns
The RootDirectory handle of the OBJECT_ATTRIBUTES

◆ RootDirectory() [2/2]

virtual void introvirt::windows::nt::OBJECT_ATTRIBUTES::RootDirectory ( uint64_t  RootDirectory)
pure virtual

◆ SecurityDescriptor() [1/2]

virtual const SECURITY_DESCRIPTOR * introvirt::windows::nt::OBJECT_ATTRIBUTES::SecurityDescriptor ( ) const
pure virtual

◆ SecurityDescriptor() [2/2]

virtual SECURITY_DESCRIPTOR * introvirt::windows::nt::OBJECT_ATTRIBUTES::SecurityDescriptor ( )
pure virtual

◆ SecurityQualityOfService() [1/2]

virtual const SECURITY_QUALITY_OF_SERVICE * introvirt::windows::nt::OBJECT_ATTRIBUTES::SecurityQualityOfService ( ) const
pure virtual

◆ SecurityQualityOfService() [2/2]

virtual SECURITY_QUALITY_OF_SERVICE * introvirt::windows::nt::OBJECT_ATTRIBUTES::SecurityQualityOfService ( )
pure virtual

◆ SecurityQualityOfServicePtr()

virtual void introvirt::windows::nt::OBJECT_ATTRIBUTES::SecurityQualityOfServicePtr ( const guest_ptr< void > &  pSecurityQualityOfService)
pure virtual

◆ write()

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

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