qintangtao

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 :: 管理 ::

2013年3月9日

摘要: VS2008环境编译驱动A、VC9驱动编译配置B、VC9集成环境下编译驱动一、新建一个空的win32控制台程序1、选(文件→新建→项目→VisualC++项目→win32→win32控制台项目)创建一个填写上名称event然后按确定在弹出的win32应用程序向导里选应用程序设置→附加选项勾选空项目→完成。二选项目菜单→添加现有项→添加所有驱动相关的*.h,*.c,*.cpp,*.rc之类的文件。三、选工具(T)→选项(O)....→项目→VC++目录→1、在可执行文件目录中添加:D:\WINDDK\3790.1830\BIN\X862、在包含文件目录添加如下路径D:\WINDDK\3790.1 阅读全文
posted @ 2013-03-09 15:23 qintangtao 阅读(2871) 评论(0) 推荐(1)

摘要: VS2003驱动开发环境配置A、VS2003驱动编译配置B、VS2003集成环境下编译驱一、新建一个空的win32控制台程序1、选(文件→新建→项目→VisualC++项目→win32→win32控制台项目)创建一个填写上名称event然后按确定在弹出的win32应用程序向导里选应用程序设置→附加选项勾选空项目→完成。二选项目菜单→添加现有项→添加所有驱动相关的*.h,*.c,*.cpp,*.rc之类的文件。三、选工具(T)→选项(O)....→项目→VC++目录→1、在可执行文件目录中添加:D:\WINDDK\3790.1830\BIN\X862、在包含文件目录添加如下路径D:\WINDD. 阅读全文
posted @ 2013-03-09 15:17 qintangtao 阅读(427) 评论(0) 推荐(0)

摘要: 手动加载NT式驱动(非工具)A、观察注册表B、手动运行驱动C、手动停止驱动运行 regedit.exeHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\ServicesImagePath \??\G:\驱动教程\018_读出SSDT表当前函数地址\mini_ddk\sys\i386\DDKHelloWorld.sys"DisplayName"="DDKHelloWorld""Type"=dword:00000001 //1表示载入驱动"Start"=dword:00000003 阅读全文
posted @ 2013-03-09 14:58 qintangtao 阅读(1371) 评论(0) 推荐(0)

摘要: NT式驱动的卸载A、卸载驱动流程B、内核函数DeleteServiceC、内核函数ControlServiceD、构建UnLoadSys函数E、测试并查看调试信息一、卸载驱动流程1、用OpenSCManager函数打开服务控制管理器,取得SCM句柄,如果返回NULL,则结束,否则继续2.//hSCM2、用OpenService打开相应的服务,如果返回NULL,则结束,否则继续3.hSerVice3、用ControlService停止驱动服务,如果返回NULL,只有重新启动才能,再动态加载。4、用DeleteService动态卸载驱动程序,如果返回NULL,则打印出错调试信息,否则打印成功信息。 阅读全文
posted @ 2013-03-09 14:38 qintangtao 阅读(900) 评论(0) 推荐(0)

摘要: NT式驱动的安装A、OpenSCManagerB、CreateServiceC、OpenServiceD、StartServiceE、CloseServiceHandleF、集成到loadNTDriver函数#include<winsvc.h>正常加载驱动的步骤如下:1、调用OpenSCManager,打开SCM管理器。如果返回NULL,则返回失败,否则继续下一步;2、调用CreateService创建服务,如果用GetLastError获取的返回值为ERROR_IO_PENDING,说明服务已经创建过,此时用OpenService打开此服务.3、调用StartService开启服 阅读全文
posted @ 2013-03-09 14:23 qintangtao 阅读(1978) 评论(0) 推荐(0)