2024年4月11日发(作者:)

DriverWorks简明教程

1.学会使用向导

很多人不喜欢向导,可是一个从应用开发转做驱动开发的人可能

更容易接受这种方式,但在今天我不打算使用过多的向导,而是手

工写驱动代码,只是使用了DriverWorks的包装类,使用MFC可以

反过来使我的SDK技术长进不少,那同样的使用DriverWorks我

相信同样可以使我们的DDK技术得到锻炼.

首先使用DDK Build Settings启动Visual C++ 6.0

1.1 点击DriverStudio工具栏上的Launch DriverWizard按钮,选择

New Project中的"Start a New Driver Project"

1.2 向导会自动选中DDK Source/makefile和Visual Studio 6,在

Project Name里输入"hello"后点下一步

1.3 project type页中选择"Kernel Mode Service"点下一步

1.4 IRP Handlers页中把所有自动勾上的请求都去掉,因为我们要

手工写DriverWorks代码以加深印象.点下一步

1.5 在Additional页里把自动勾上的Generate SoftICE NMS file in

custom build step去掉.点下一步

1.6 预览工程,并点击完成:

Project Summary For kruglinski

Project Name = hello

Project Location = D:Workspacehello

Project Type = NT

1.8 空的工程框架就会生成完毕.

此时直接编译会出错,也许是DriverStudio的一个Bug,只要把

sources中的:

TARGETLIBS=$(DDK_LIB_PATH)

$(DDK_LIB_PATH)

这一行去掉就可以编译通过了,让我们编试一下,一定感觉很不错

吧!

2.拨开云雾见日出

2.1 现在我们要做的是清理掉所有会让我们眼花的东东(一大堆

向导生成的代码),只留下编译环境,我喜欢在Visual Studio里直接

编译的感觉,很讨厌总是看到那个黑黑的Build Console.切换到

FileView初图,把除了makefile和sources文件以外的其它文件全

部删除,然后我们只复制,sources和makefile三个文件到

一个单独的文件夹helloworld里.选择File-Close Workspace关闭

刚向导出来的工程,再把copy出来的拖到Visual Studio 6

中打开(这时会自动生成一个).

2.2 现在要正式开工了,按Ctrl+N在Files页选择C++ Source File,

在File栏里输入

在里首先要#include "vdw.h" ,因为我们要用的

DriverWorks包装类的头文件都由该文件包括.

这里需要注意的是在#include "vdw.h"前应该加入一句#define

VDW_MAIN因为DriverWorks的帮助文件里这样说(懒得译了,