// LoadNTDriver.h: interface for the CLoadNTDriver class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_LOADNTDRIVER_H__1EA22A79_EB0F_4DAB_946C_9CCD5759211C__INCLUDED_) #define AFX_LOADNTDRIVER_H__1EA22A79_EB0F_4DAB_946C_9CCD5759211C__INCLUDED_ #include #include #if _MSC_VER > 1000 #pragma once #endif // _MSC_VER > 1000 /************************************************************************/ /* 使用示例(非Unicode): #include "LoadNTDriver.h" CLoadNTDriver MyDriver("mydriver","C:\\windows\\system32\\drivers\\mydriver.sys"); MyDriver.InstallDriver(); //安装 MyDriver.StartDriver(); //启动 MyDriver.StopDriver(); //停止 MyDriver.RemoveDriver(); //卸载 也可以判断一下上面每个函数是否调用成功. */ /************************************************************************/ class CLoadNTDriver { public: CLoadNTDriver(const char* szDriverName,const char* szDriverFullPath); virtual ~CLoadNTDriver(); public: bool InstallDriver(); //安装 bool StartDriver(); //启动 bool StopDriver(); //停止 bool RemoveDriver(); //卸载 private: bool CreateDriver(); long RegDeleteKeyNT(HKEY hStartKey,char* pKeyName); private: const char* m_szDriverName; const char* m_szDriverFullPath; }; #endif // !defined(AFX_LOADNTDRIVER_H__1EA22A79_EB0F_4DAB_946C_9CCD5759211C__INCLUDED_)