ReXGlue SDK
Loading...
Searching...
No Matches
rex::kernel::ObjectPin Class Reference

#include <rex/kernel/object/object_pin.h>

Inheritance diagram for rex::kernel::ObjectPin:
[legend]

Public Member Functions

 ObjectPin (KernelObject *object, X_HANDLE handle) noexcept
 ObjectPin (ObjectPin &&other) noexcept
ObjectPin & operator= (ObjectPin &&other) noexcept
 operator bool () const noexcept
ObjectType GetType () const
ObjectData & GetData () const
KernelObject & GetKernelObject () const
X_HANDLE GetHandle () const noexcept
u32 GetGuestAddress () const
void Reset () noexcept

Additional Inherited Members

Protected Member Functions inherited from rex::MoveOnly
 MoveOnly (MoveOnly &&)=default
MoveOnly & operator= (MoveOnly &&)=default
 MoveOnly (const MoveOnly &)=delete
MoveOnly & operator= (const MoveOnly &)=delete

Detailed Description

A transient pin on a KernelObject. Never stored. Move only.

Constructor & Destructor Documentation

◆ ObjectPin()

rex::kernel::ObjectPin::ObjectPin ( KernelObject * object,
X_HANDLE handle )
inlinenoexcept

Takes a pin already taken on a KernelObject.

Parameters
handleThe handle the pin was resolved from, 0 when it was found by address.

Member Function Documentation

◆ GetGuestAddress()

u32 rex::kernel::ObjectPin::GetGuestAddress ( ) const
inlinenodiscard

Returns the guest address of the object body, 0 when the object has no guest block.

◆ GetHandle()

X_HANDLE rex::kernel::ObjectPin::GetHandle ( ) const
inlinenodiscardnoexcept

Returns the handle value the pin was looked up by, with pseudo handles translated. A pin found by address carries 0, and a pin from an enumeration carries the first handle of the object, 0 when it has none.


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