66 uint64_t _get_argument_cdecl(
unsigned int index)
const;
67 void _set_argument_cdecl(
unsigned int index, uint64_t value);
69 uint64_t _get_argument_fastcall(
unsigned int index)
const;
70 void _set_argument_fastcall(
unsigned int index, uint64_t value);
72 uint64_t _get_argument_x64(
unsigned int index)
const;
73 void _set_argument_x64(
unsigned int index, uint64_t value);
78 std::function<uint64_t(
unsigned int)> get_argument_;
79 std::function<void(
unsigned int, uint64_t)> set_argument_;
84 bool returned_ =
false;
85 uint64_t raw_return_value_ = -1;
Interface class for hypervisor events.
Definition Event.hh:43
Base class for function calls.
Definition FunctionCall.hh:33
A class representing a single virtual processor.
Definition Vcpu.hh:33
Definition guest_ptr.hh:88
Definition WindowsEvent.hh:26
Definition WindowsFunctionCall.hh:31
const Vcpu & vcpu() const
void set_argument(unsigned int index, uint64_t value)
guest_ptr< void > return_address() const override
Get the return address for this function call.
void return_address(const guest_ptr< void > &value) override
Set the return address for this function call.
bool is_return_event(Event &event) const override
Check if the given event is a return event for this function call.
WindowsFunctionCall(Event &event, unsigned int argument_count, WindowsCallType type=WindowsCallType::AUTO)
uint64_t get_argument(unsigned int index) const
virtual ~WindowsFunctionCall()
void set_address_argument(unsigned int index, const guest_ptr< void > &address)
bool x64() const
Check if the call is from x64 mode.hh>
bool returned() const override
Check if the call has returned.
uint64_t raw_return_value() const
void raw_return_value(uint64_t value)
guest_ptr< void > get_address_argument(unsigned int index) const
void handle_return(Event &event) override
Handle the return event.
Type-safe guest virtual address pointer and guest_ptr template.
WindowsCallType
Definition WindowsFunctionCall.hh:29
Core IntroVirt classes.
Definition Cr0.hh:20