BlackBone
Windows memory hacking library
 All Classes Functions
blackbone::Detour< Fn, C > Class Template Reference
Inheritance diagram for blackbone::Detour< Fn, C >:
blackbone::HookHandler< Fn, C > blackbone::VTableDetour< Fn, C >

Public Types

typedef HookHandler< Fn, C >::type type
 
typedef HookHandler< Fn, C >
::hktype 
hktype
 
typedef HookHandler< Fn, C >
::hktypeC 
hktypeC
 

Public Member Functions

bool Hook (type ptr, hktype hkPtr, HookType::e type, CallOrder::e order=CallOrder::HookFirst, ReturnMethod::e retType=ReturnMethod::UseOriginal)
 Hook function More...
 
bool Hook (type Ptr, hktypeC hkPtr, C *pClass, HookType::e type, CallOrder::e order=CallOrder::HookFirst, ReturnMethod::e retType=ReturnMethod::UseOriginal)
 Hook function More...
 
bool Restore ()
 Restore hooked function More...
 

Member Function Documentation

template<typename Fn , class C = NoClass>
bool blackbone::Detour< Fn, C >::Hook ( type  ptr,
hktype  hkPtr,
HookType::e  type,
CallOrder::e  order = CallOrder::HookFirst,
ReturnMethod::e  retType = ReturnMethod::UseOriginal 
)
inline

Hook function

Parameters
ptrTarget function address
hkPtrHook function address
typeHooking method
orderCall order. Hook before original or vice versa
retTypeReturn value. Use origianl or value from hook
Returns
true on success
template<typename Fn , class C = NoClass>
bool blackbone::Detour< Fn, C >::Hook ( type  Ptr,
hktypeC  hkPtr,
C *  pClass,
HookType::e  type,
CallOrder::e  order = CallOrder::HookFirst,
ReturnMethod::e  retType = ReturnMethod::UseOriginal 
)
inline

Hook function

Parameters
PtrTarget function address
hkPtrHook class member address
pClassHook class address
typeHooking method
orderCall order. Hook before original or vice versa
retTypeReturn value. Use origianl or value from hook
Returns
true on success
template<typename Fn , class C = NoClass>
bool blackbone::Detour< Fn, C >::Restore ( )
inline

Restore hooked function

Returns
true on success, false if not hooked

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