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

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

#include <NtOpenFile.hh>

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

Public Member Functions

virtual guest_ptr< void > FileHandlePtr () const =0
 Getter for FileHandlePtr.
 
virtual FILE_ACCESS_MASK DesiredAccess () const =0
 Getter for DesiredAccess.
 
virtual guest_ptr< void > ObjectAttributesPtr () const =0
 Getter for ObjectAttributesPtr.
 
virtual guest_ptr< void > IoStatusBlockPtr () const =0
 Getter for IoStatusBlockPtr.
 
virtual FILE_SHARE_ACCESS ShareAccess () const =0
 Getter for ShareAccess.
 
virtual FileOpenOptions OpenOptions () const =0
 Getter for OpenOptions.
 
virtual void FileHandlePtr (const guest_ptr< void > &pFileHandle)=0
 Setter for FileHandlePtr.
 
virtual void DesiredAccess (FILE_ACCESS_MASK DesiredAccess)=0
 Setter for DesiredAccess.
 
virtual void ObjectAttributesPtr (const guest_ptr< void > &pObjectAttributes)=0
 Setter for ObjectAttributesPtr.
 
virtual void IoStatusBlockPtr (const guest_ptr< void > &pIoStatusBlock)=0
 Setter for IoStatusBlockPtr.
 
virtual void ShareAccess (FILE_SHARE_ACCESS ShareAccess)=0
 Setter for ShareAccess.
 
virtual void OpenOptions (FileOpenOptions OpenOptions)=0
 Setter for OpenOptions.
 
virtual uint64_t FileHandle () const =0
 
virtual void FileHandle (uint64_t FileHandle)=0
 
virtual const OBJECT_ATTRIBUTESObjectAttributes () const =0
 
virtual OBJECT_ATTRIBUTESObjectAttributes ()=0
 
virtual const IO_STATUS_BLOCKIoStatusBlock () const =0
 
virtual IO_STATUS_BLOCKIoStatusBlock ()=0
 
virtual IO_STATUS_RESULT IoStatusResult () const =0
 
virtual void IoStatusResult (IO_STATUS_RESULT IoStatusResult)=0
 Sets the IoStatusResult field in the IoStatusBlock.
 
- 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 &FileHandle, FILE_ACCESS_MASK DesiredAccess, const guest_ptr< void > &pObjectAttributes, const guest_ptr< void > &pIoStatusBlock, FILE_SHARE_ACCESS ShareAccess, FileOpenOptions OpenOptions)
 

Detailed Description

Handler class for the NtOpenFile system call.

Member Function Documentation

◆ DesiredAccess() [1/2]

virtual FILE_ACCESS_MASK introvirt::windows::nt::NtOpenFile::DesiredAccess ( ) const
pure virtual

Getter for DesiredAccess.

Returns
The value of the DesiredAccess parameter

◆ DesiredAccess() [2/2]

virtual void introvirt::windows::nt::NtOpenFile::DesiredAccess ( FILE_ACCESS_MASK  DesiredAccess)
pure virtual

Setter for DesiredAccess.

Parameters
DesiredAccessThe value to set for the DesiredAccess parameter

◆ FileHandle() [1/2]

virtual uint64_t introvirt::windows::nt::NtOpenFile::FileHandle ( ) const
pure virtual

◆ FileHandle() [2/2]

virtual void introvirt::windows::nt::NtOpenFile::FileHandle ( uint64_t  FileHandle)
pure virtual

◆ FileHandlePtr() [1/2]

virtual guest_ptr< void > introvirt::windows::nt::NtOpenFile::FileHandlePtr ( ) const
pure virtual

Getter for FileHandlePtr.

Returns
The address pointed to by the the FileHandlePtr parameter

◆ FileHandlePtr() [2/2]

virtual void introvirt::windows::nt::NtOpenFile::FileHandlePtr ( const guest_ptr< void > &  pFileHandle)
pure virtual

Setter for FileHandlePtr.

Parameters
pFileHandleThe address to set for the FileHandlePtr parameter

◆ inject()

static NTSTATUS introvirt::windows::nt::NtOpenFile::inject ( uint64_t &  FileHandle,
FILE_ACCESS_MASK  DesiredAccess,
const guest_ptr< void > &  pObjectAttributes,
const guest_ptr< void > &  pIoStatusBlock,
FILE_SHARE_ACCESS  ShareAccess,
FileOpenOptions  OpenOptions 
)
static

◆ IoStatusBlock() [1/2]

virtual const IO_STATUS_BLOCK * introvirt::windows::nt::NtOpenFile::IoStatusBlock ( ) const
pure virtual

◆ IoStatusBlock() [2/2]

virtual IO_STATUS_BLOCK * introvirt::windows::nt::NtOpenFile::IoStatusBlock ( )
pure virtual

◆ IoStatusBlockPtr() [1/2]

virtual guest_ptr< void > introvirt::windows::nt::NtOpenFile::IoStatusBlockPtr ( ) const
pure virtual

Getter for IoStatusBlockPtr.

Returns
The address pointed to by the the IoStatusBlockPtr parameter

◆ IoStatusBlockPtr() [2/2]

virtual void introvirt::windows::nt::NtOpenFile::IoStatusBlockPtr ( const guest_ptr< void > &  pIoStatusBlock)
pure virtual

Setter for IoStatusBlockPtr.

Parameters
pIoStatusBlockThe address to set for the IoStatusBlockPtr parameter

◆ IoStatusResult() [1/2]

virtual IO_STATUS_RESULT introvirt::windows::nt::NtOpenFile::IoStatusResult ( ) const
pure virtual
Returns
the IoStatusResult field from the IoStatusBlock

◆ IoStatusResult() [2/2]

virtual void introvirt::windows::nt::NtOpenFile::IoStatusResult ( IO_STATUS_RESULT  IoStatusResult)
pure virtual

Sets the IoStatusResult field in the IoStatusBlock.

◆ ObjectAttributes() [1/2]

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

◆ ObjectAttributes() [2/2]

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

◆ ObjectAttributesPtr() [1/2]

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

Setter for ObjectAttributesPtr.

Parameters
pObjectAttributesThe address to set for the ObjectAttributesPtr parameter

◆ OpenOptions() [1/2]

virtual FileOpenOptions introvirt::windows::nt::NtOpenFile::OpenOptions ( ) const
pure virtual

Getter for OpenOptions.

Returns
The value of the OpenOptions parameter

◆ OpenOptions() [2/2]

virtual void introvirt::windows::nt::NtOpenFile::OpenOptions ( FileOpenOptions  OpenOptions)
pure virtual

Setter for OpenOptions.

Parameters
OpenOptionsThe value to set for the OpenOptions parameter

◆ ShareAccess() [1/2]

virtual FILE_SHARE_ACCESS introvirt::windows::nt::NtOpenFile::ShareAccess ( ) const
pure virtual

Getter for ShareAccess.

Returns
The value of the ShareAccess parameter

◆ ShareAccess() [2/2]

virtual void introvirt::windows::nt::NtOpenFile::ShareAccess ( FILE_SHARE_ACCESS  ShareAccess)
pure virtual

Setter for ShareAccess.

Parameters
ShareAccessThe value to set for the ShareAccess parameter

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