windows驱动开发学习<1>

最近纠结于windows驱动的调试环境的选择,基于使用VirtualDDK配置虚拟机调试,在visual studio 2010中老是不能刷新出课选择的调试虚拟机,所以在网上收集一些资料的时候得益于一位同道的帮助,推荐我不必纠结与VirtualDDK的配置可以转战使用Windbg借助虚拟机实现双机的驱动程序的调试。非常感谢这个大哥(CSDN:开心程序)。

当然开发windows驱动程序就必须安装Windows Driver Kits开发包,生成驱动的sys文件需要做三个方面的文件准备就可以了。

1.借助notepad++编写HelloDriverWorld.c文件:

 1 #include <ntddk.h>  
2
3 VOID Driver_Unload(IN PDRIVER_OBJECT pDriverObject);
4
5 int DriverEntry(PDRIVER_OBJECT pDriverObject,PUNICODE_STRING RegistryPath)
6 {
7 KdPrint(("Hello Driver World 驱动加载成功"));
8 KdPrint(("记得要用双括号,在debug版本中KdPrint会用DbgPrint代替,release版就不做任何事"));
9 DbgPrint("这是最简单的驱动");
10 pDriverObject->DriverUnload = Driver_Unload;
11 return (1);
12 }
13
14 VOID Driver_Unload(IN PDRIVER_OBJECT pDriverObject)
15 {
16 KdPrint(("Hello Driver World 驱动卸载成功"));
17 }

2.准备makefile文件

 1 !IF 0
2
3 Copyright (C) Microsoft Corporation, 1999 - 2002
4
5 Module Name:
6
7 makefile.
8
9 Notes:
10
11 DO NOT EDIT THIS FILE!!! Edit .\sources. if you want to add a new source
12 file to this component. This file merely indirects to the real make file
13 that is shared by all the components of Windows NT (DDK)
14
15 !ENDIF
16
17
18 !INCLUDE $(NTMAKEENV)\makefile.def

3.配置source文件。

1 TARGETNAME=first
2 TARGETTYPE=DRIVER
3 SOURCES=first.c

将以上三个文件放入文件夹HelloDriverWorld的文件夹。

然后进入Windows Driver Kits程序选择Windows XP x86 Checked Build Environment。将当前路径切换到HelloDriverWorld文件夹所在的路径。然后运行命令:"build"。

之后就会在HelloDriverWorld文件夹生成驱动程序HelloDriverWorld.sys.

接下来将生成的HelloDriverWorld.sys拷贝到虚拟机系统中。首先在虚拟机系统中运行DeugView,选择相关的监控选项。然后运行DriverMonitor.选择驱动文件,然后启动它,就会在DeugView看到相应的驱动的打印信息。

完!



posted @ 2011-11-01 21:50  imFolish  阅读(2234)  评论(0编辑  收藏  举报