动态加载NT驱动(源码)
来源:互联网 发布:centos离线下载 编辑:程序博客网 时间:2024/05/21 22:42
下面代码可以直接加载和卸载驱动,哈哈,拿走不谢
#include <winsvc.h>// function : LoadDriver// purpose : 加载驱动// // parameter : [IN] lpPath 驱动的完整路径// [OUT] // //// author : liangyu// created : 2008-7-10 17:19// *************************************************************** BOOL Ctest2Dlg::LoadDriver(LPTSTR lpPath){SC_HANDLE hSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);if (NULL == hSCManager){return FALSE;}SC_HANDLE hService = CreateService(hSCManager, _T("SSDTTool"),_T("SSDTTool Driver"), SERVICE_ALL_ACCESS,SERVICE_KERNEL_DRIVER, SERVICE_DEMAND_START,SERVICE_ERROR_IGNORE, lpPath, NULL, NULL, NULL, NULL, NULL);if (NULL == hService){if (ERROR_SERVICE_EXISTS == GetLastError())//如果是"已经存在该驱动"导致的错误则继续{hService = OpenService(hSCManager, _T("SSDTTool"), SERVICE_ALL_ACCESS);}else{return FALSE;}}StartService(hService, 0, NULL);CloseServiceHandle(hService);CloseServiceHandle(hSCManager); return TRUE;}// ***************************************************************// function : UnLoadDriver// purpose : 卸载驱动// // parameter : [IN] lpName 服务(驱动在SCM注册的)名字// [OUT] // //// author : liangyu// created : 2008-7-10 17:41// *************************************************************** BOOL Ctest2Dlg::UnLoadDriver(LPTSTR lpName){SC_HANDLE hSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ALL_ACCESS);if (NULL == hSCManager){return FALSE;}SC_HANDLE hService = OpenService(hSCManager, lpName, SERVICE_ALL_ACCESS);if (NULL == hService){return FALSE;}SERVICE_STATUS ss;ControlService(hService, SERVICE_CONTROL_STOP, &ss);DeleteService(hService);CloseServiceHandle(hService);CloseServiceHandle(hSCManager); return TRUE;}void Ctest2Dlg::OnBnClickedButton1(){// TODO: 在此添加控件通知处理程序代码UpdateData(TRUE);LoadDriver((LPSTR)(LPCTSTR)m_path);}void Ctest2Dlg::OnBnClickedButton2(){// TODO: 在此添加控件通知处理程序代码UnLoadDriver("SSDTTool");}
阅读全文
0 0
- 动态加载NT驱动(源码)
- 编写软件动态加载NT式驱动
- NT式驱动的动态加载
- 编写软件动态加载NT式驱动
- NT驱动加载器
- NT驱动加载方式
- NT式驱动加载器
- VC加载NT式驱动
- NT驱动加载与卸载
- 驱动开发(3)使用SCM加载NT驱动(用应用程序加载驱动)
- 动态加载WinCE驱动实例及源码
- 驱动开发之 加载NT式驱动
- 应用层加载NT驱动代码
- 编写程序加载NT式驱动
- (二)NT驱动基础——可动态卸载驱动编写 和 其安装卸载
- 驱动编程(一),NT
- LED驱动动态加载方式(xc2440)
- 模块化驱动动态加载
- 利用truffle框架部署应用到自己搭建的私有链
- 学习和使用 PHP 应该注意的10件事
- Android 开发时遇到过的坑(持续更新)
- 滑动翻页的图片效果
- vs2012未能正确加载DiffPackage包的解决方法
- 动态加载NT驱动(源码)
- msu后缀文件的脚本安装
- 字符串常量池
- 外观模式
- windows10下Apache 80端口被system占用的解决办法
- CentsOs 部分插件安装过程
- 自定义比较函数mystrcmp
- 如何使用PyCharm对函数进行测试
- Vue动态获取width