FunctionWrapper.h
上传用户:kittypts
上传日期:2018-02-11
资源大小:241k
文件大小:1k
源码类别:

PlugIns编程

开发平台:

Visual C++

  1. #ifndef _FUNCTIONWRAPPER_H_
  2. #define _FUNCTIONWRAPPER_H_
  3. #include "types.h"
  4. /**
  5. Class representing a Function.
  6. */
  7. class NktFunctionWrapper
  8. {
  9. public:
  10. NktFunctionWrapper();
  11. NktFunctionWrapper(const void* fnc, int cc = cdecl_, USHORT pmSize = 0);
  12. NktFunctionWrapper(const NktFunctionWrapper&);
  13. NktFunctionWrapper& operator=(const NktFunctionWrapper&);
  14. /**
  15. Function Address.
  16. */
  17. const void* GetAddress() const;
  18. /**
  19. Calling Convention.
  20. */
  21. int GetCallConvention() const;
  22. /**
  23. Full size of params.
  24. */
  25. USHORT GetParamSize() const;
  26. /**
  27. Size of params in stack.
  28. */
  29. USHORT GetStackParamSize() const;
  30. /**
  31. Full size of required stack clean.
  32. */
  33. USHORT GetCallerCleanSize() const;
  34. USHORT GetCalleeCleanSize() const;
  35. /**
  36. Test if function is a valid one.
  37. */
  38. virtual bool isValid() const;
  39. protected:
  40. NktCallingConvention _cc;
  41. const void* _fnc;
  42. USHORT _pmSize;
  43. };
  44. #endif //_FUNCTIONWRAPPER_H_