NtDriverController.h
上传用户:jstlsd
上传日期:2007-01-13
资源大小:186k
文件大小:2k
源码类别:

钩子与API截获

开发平台:

Visual C++

  1. //---------------------------------------------------------------------------
  2. //
  3. // NtDriverController.h
  4. //
  5. // SUBSYSTEM: 
  6. // API Hooking system
  7. // MODULE:    
  8. // Provides simple interface for managing device driver 
  9. //              administration
  10. //
  11. // DESCRIPTION:
  12. //
  13. // AUTHOR: Ivo Ivanov (ivopi@hotmail.com)
  14. //                                                                         
  15. //---------------------------------------------------------------------------
  16. #if !defined(_NTDRIVERCONTROLLER_H_)
  17. #define _NTDRIVERCONTROLLER_H_
  18. #if _MSC_VER > 1000
  19. #pragma once
  20. #endif // _MSC_VER > 1000
  21. #include <windows.h>
  22. //---------------------------------------------------------------------------
  23. //
  24. // class CNtDriverController
  25. //
  26. //---------------------------------------------------------------------------
  27. class CNtDriverController  
  28. {
  29. public:
  30. CNtDriverController();
  31. virtual ~CNtDriverController();
  32. private:
  33. //
  34. // Obtain manager handle
  35. //
  36. BOOL Open();
  37. //
  38. // Close handle obtained from Open()
  39. //
  40. void Close();
  41. //
  42. //
  43. //
  44. BOOL WaitForState(
  45. DWORD           dwDesiredState, 
  46. SERVICE_STATUS* pss
  47. );
  48. //
  49. // Add the driver to the system and start it up
  50. //
  51. BOOL InstallAndStart();
  52. //
  53. // Stop the driver and remove it from the system
  54. //
  55. void StopAndRemove();
  56. private:
  57. SC_HANDLE m_hSCM;
  58. SC_HANDLE m_hDriver;
  59. BOOL      m_bDriverStarted;
  60. BOOL      m_bErrorOnStart;
  61. char      m_szName[MAX_PATH];
  62. char      m_szInfo[MAX_PATH];
  63. char      m_szFullFileName[MAX_PATH];
  64. };
  65. #endif // !defined(_NTDRIVERCONTROLLER_H_)
  66. //----------------------------End of the file -------------------------------