|
libintrovirt v0.57.4
IntroVirt introspection library
|
Handler class for the NtDeviceIoControlFile system call. More...
#include <NtDeviceIoControlFile.hh>


Public Member Functions | |
| virtual uint64_t | FileHandle () const =0 |
| Getter for FileHandle. | |
| virtual uint64_t | EventHandle () const =0 |
| Getter for EventHandle. | |
| virtual guest_ptr< void > | ApcRoutinePtr () const =0 |
| Getter for ApcRoutinePtr. | |
| virtual guest_ptr< void > | ApcContextPtr () const =0 |
| Getter for ApcContextPtr. | |
| virtual guest_ptr< void > | IoStatusBlockPtr () const =0 |
| Getter for IoStatusBlockPtr. | |
| virtual uint32_t | IoControlCode () const =0 |
| Getter for IoControlCode. | |
| virtual guest_ptr< void > | InputBufferPtr () const =0 |
| Getter for InputBufferPtr. | |
| virtual uint32_t | InputBufferLength () const =0 |
| Getter for InputBufferLength. | |
| virtual guest_ptr< void > | OutputBufferPtr () const =0 |
| Getter for OutputBufferPtr. | |
| virtual uint32_t | OutputBufferLength () const =0 |
| Getter for OutputBufferLength. | |
| virtual void | FileHandle (uint64_t FileHandle)=0 |
| Setter for FileHandle. | |
| virtual void | EventHandle (uint64_t EventHandle)=0 |
| Setter for EventHandle. | |
| virtual void | ApcRoutinePtr (const guest_ptr< void > &pApcRoutine)=0 |
| Setter for ApcRoutinePtr. | |
| virtual void | ApcContextPtr (const guest_ptr< void > &pApcContext)=0 |
| Setter for ApcContextPtr. | |
| virtual void | IoStatusBlockPtr (const guest_ptr< void > &pIoStatusBlock)=0 |
| Setter for IoStatusBlockPtr. | |
| virtual void | IoControlCode (uint32_t IoControlCode)=0 |
| Setter for IoControlCode. | |
| virtual void | InputBufferPtr (const guest_ptr< void > &pInputBuffer)=0 |
| Setter for InputBufferPtr. | |
| virtual void | InputBufferLength (uint32_t InputBufferLength)=0 |
| Setter for InputBufferLength. | |
| virtual void | OutputBufferPtr (const guest_ptr< void > &pOutputBuffer)=0 |
| Setter for OutputBufferPtr. | |
| virtual void | OutputBufferLength (uint32_t OutputBufferLength)=0 |
| Setter for OutputBufferLength. | |
| virtual const IO_STATUS_BLOCK * | IoStatusBlock () const =0 |
| virtual IO_STATUS_BLOCK * | IoStatusBlock ()=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 FileHandle, uint64_t EventHandle, const guest_ptr< void > &pApcRoutine, const guest_ptr< void > &pApcContext, const guest_ptr< void > &pIoStatusBlock, uint32_t IoControlCode, const guest_ptr< void > &pInputBuffer, uint32_t InputBufferLength, const guest_ptr< void > &pOutputBuffer, uint32_t OutputBufferLength) |
Handler class for the NtDeviceIoControlFile system call.
|
pure virtual |
Getter for ApcContextPtr.
|
pure virtual |
Setter for ApcContextPtr.
| pApcContext | The address to set for the ApcContextPtr parameter |
|
pure virtual |
Getter for ApcRoutinePtr.
|
pure virtual |
Setter for ApcRoutinePtr.
| pApcRoutine | The address to set for the ApcRoutinePtr parameter |
|
pure virtual |
Getter for EventHandle.
|
pure virtual |
Setter for EventHandle.
| EventHandle | The value to set for the EventHandle parameter |
|
pure virtual |
Getter for FileHandle.
|
pure virtual |
Setter for FileHandle.
| FileHandle | The value to set for the FileHandle parameter |
|
static |
|
pure virtual |
Getter for InputBufferLength.
|
pure virtual |
Setter for InputBufferLength.
| InputBufferLength | The value to set for the InputBufferLength parameter |
|
pure virtual |
Getter for InputBufferPtr.
|
pure virtual |
Setter for InputBufferPtr.
| pInputBuffer | The address to set for the InputBufferPtr parameter |
|
pure virtual |
Getter for IoControlCode.
|
pure virtual |
Setter for IoControlCode.
| IoControlCode | The value to set for the IoControlCode parameter |
|
pure virtual |
|
pure virtual |
|
pure virtual |
Getter for IoStatusBlockPtr.
|
pure virtual |
Setter for IoStatusBlockPtr.
| pIoStatusBlock | The address to set for the IoStatusBlockPtr parameter |
|
pure virtual |
Getter for OutputBufferLength.
|
pure virtual |
Setter for OutputBufferLength.
| OutputBufferLength | The value to set for the OutputBufferLength parameter |
|
pure virtual |
Getter for OutputBufferPtr.
|
pure virtual |
Setter for OutputBufferPtr.
| pOutputBuffer | The address to set for the OutputBufferPtr parameter |