说白了,没什么技术含量全是抄得书上的代码,而写下来不过是为了加深对这个东西的印象。
1.开发环境下载搭建
微软官方的下载地址,需要登陆,可以用windows live id或者msn帐号登陆。 中间有一步需要注册,注册后登录会跳转的控制中心,点首页。从左侧类别选择开发人员工具,知道到Windows Driver kit下载安装就可以了。
2.开发驱动的过程中vs或者任何的c语言编译器都不是必须的。
直接建立下面的测试文件Test.c
可以用任何的文本编辑器编辑,键入如下的代码:
#include <ntddk.h>
//提供一个Unload函数为了让程序能够动态卸载,方便调试
VOID DriverUnload(PDRIVER_OBJECT driver)
{
DbgPrint("First:our driver is unloading......\r\n"); //打印调试信息
}
//Driver entry ,入口函数相当于main
NTSTATUS DriverEntry(PDRIVER_OBJECT driver,PUNICODE_STRING reg_path)
{
//内核模块入口,可以写入自己想写的代码
#if DBG
_asm int 3
#endif
DbgPrint("First :hello,my baby!");
//设置一个卸载函数,便于函数退出
driver->DriverUnload =DriverUnload;
return STATUS_SUCCESS;
}
现在建立目录Test,把上面的文件放入后新建两个文件:makefile和SOURCES.
makefile文件内容
#
# DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source
# file to this component. This file merely indirects to the real make file
# that is shared by all the driver components of the Windows NT DDK
#
!INCLUDE $(NTMAKEENV)\makefile.def
SOURCES文件内容:
TARGETNAME=Test //编译出来的文件名称
TARGETTYPE=DRIVER
SOURCES=Test.c //资源名称
下面就可以用编译器直接编译了。(代码参考自《寒江独钓》)
运行x86 Checked Build Environment切换到程序目录。build就可以了。变异后生成的文件内容: