Windows HelloWorld驱动应用
2016-07-23 21:07
337 查看
一个简单完整的驱动开发框架仍然很复杂,至少在我看来字很多
来个HelloWorld,超简单
编译后移动到 C:\1.sys
使用管理员权限执行命令安装驱动
sc create mydriver binpath=c:\1.sys type=kernel start=demand error=ignore
启动驱动
sc start mydriver
执行后会出现下面的错误,但是不用担心,驱动已经执行完毕了,能在DbgView看见输出 Hello World
[SC] 由于发生错误 4294967295, StartService 失败。
玩完后使用下面命令删除该驱动服务
sc delete mydriver
用DbgView能看见输出 Hello World
return -1是为了不创建驱动对象,如果return STATUS_SUCCESS会创建一个驱动对象,你可以使用其他内核工具看到多了一个mydriver的驱动
而且你无法使用正常的办法停止它,因为这个驱动并不完整,缺少Unload例程
例如使用以下命令停止这个驱动会提示 请求的操作对该对象无效
sc stop mydriver
来个HelloWorld,超简单
#include <ntifs.h> #include <ntimage.h> #include <ntintsafe.h> #include <windef.h> #include <stdlib.h> extern "C" NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObj, PUNICODE_STRING pRegistryString) { DbgPrint("Hello World\n"); //return STATUS_SUCCESS; return -1; }
编译后移动到 C:\1.sys
使用管理员权限执行命令安装驱动
sc create mydriver binpath=c:\1.sys type=kernel start=demand error=ignore
启动驱动
sc start mydriver
执行后会出现下面的错误,但是不用担心,驱动已经执行完毕了,能在DbgView看见输出 Hello World
[SC] 由于发生错误 4294967295, StartService 失败。
玩完后使用下面命令删除该驱动服务
sc delete mydriver
用DbgView能看见输出 Hello World
return -1是为了不创建驱动对象,如果return STATUS_SUCCESS会创建一个驱动对象,你可以使用其他内核工具看到多了一个mydriver的驱动
而且你无法使用正常的办法停止它,因为这个驱动并不完整,缺少Unload例程
例如使用以下命令停止这个驱动会提示 请求的操作对该对象无效
sc stop mydriver
相关文章推荐
- 如何重装TCP/IP协议
- Windows 8 官方高清壁纸欣赏与下载
- 谁是桌面王者?Win PK Linux三大镇山之宝
- 对《大家都在点赞 Windows Terminal,我决定给你泼一盆冷水》一文的商榷
- Windows Clang开发环境备忘
- 从Windows系统下访问Linux分区相关软件
- 对《大家都在点赞 Windows Terminal,我决定给你泼一盆冷水》一文的商榷
- Windows下搭建本地SVN服务器
- 使用Windows原生命令一键清空剪贴板
- windows用windeployqt发布qt quick application程序
- 利用开源软件打造自己的全功能远程工具
- Windows 8虚拟机不能全屏的解决方法
- 虚拟化基础架构Windows 2008篇之1-虚拟化基础服务概述
- 虚拟化基础架构Windows 2008篇之5-安装Windows部署服务
- 虚拟化基础架构Windows 2008篇之7-添加其他操作系统的安装镜像
- 虚拟化基础架构Windows 2008篇之9-配置Windows部署服务
- 虚拟化基础架构Windows 2008篇之12-WSUS工作站端配置
- Visual Studio 2012 示例代码浏览器 - 数以千计的开发示例近在手边,唾手可得