首先,假设我们有驱动程序目录如下:
MinDriver
|--MAKEFILE :DDK本身提供的,不需要编辑和更改
|--MinDriver.c
|--MinDriver.h
|--MinDriver.reg
|--MinDriver.sys
|--Sources : 编译时的配置文件,需要指明编译时创建的目标程序的名称,类型,目标文件位置,源代码名称等。
(1)编译生成.sys文件
1)确保DDK正确安装成功
2)在DDK菜单中执行Check Build Environment 来生成调试版本
3)进入命令行编辑模式(cmd)
4) 进入MinDriver目录
5)执行“build”命令
6)生成.sys文件在MinDriver\objchk\i386目录下。
(2)安装.sys文件
1)将.sys文件复制到windows\system32目录下
2)双击MinDriver.reg文件,导入MinDriver.sys的注册表配置
3)重启计算机
4)运行dbgview.exe
5) 进入命令行模式
6)输入命令“net start mindriver”,加载驱动程序
7)查看dbgview.exe的节面,会出现调试信息。
8)输入“net stop mindriver”,停止驱动程序。
驱动程序的安装实际上市做一些注册表的操作。另外,驱动程序的安装方式还有用.inf,,ini,或用程序调用安装函数进行安装的。net start\stop是服务启动/停止命令
Source文件内容:
TARGETNAME= MinDriver \\ 指出生成的程序名,这里会生成MinDriver.sys
TARGETPATH = obj \\用来存放Build命令参数文件的目录,BUILD程序会产生一个obj子目录
TARGETTYPE = DRIVER \\指明编译后创建程序的类型,这里是驱动程序
sources = MinDriver.c \\指明源代码的文件名,注意Build不能识别.cpp
DDK一般有两种模式,一种是调试模式(checked),另一种是发行模式(Free)。DDK资源包只提供基于命令行的编译器,要想在VC环境中开发 驱动程序,需要在VC中集成这些命令。事实上,VC为我们提供了一种叫做makefile的工程,这种工程编译程序时使用命令行的方式,它直接调用命令行 模式的命令来编译和创建程序,而且命令行的输出信息直接输出在VC的信息输出框中。因此,我们只需要将编译驱动程序的一系列命令做成一个批处理文件,然后 让makefile工程执行这个批处理来完成驱动程序的编译和创建。
(1)创建批处理文件build.bat:
if "%1"==“” goto InvalidParameter
if not exist %1\bin\setenv.bat goto SetenvNotFound
call %1\bin\setenv.bat %1 %2
%3
cd %4
build
goto exit
: InvalidParameter
echo Invalid Parameter.
goto exit
:SetenvNotFound
echo Can't found Setenv.bat.
goto exit
:exit
这个批处理文件带4个参数:
%1:DDK的安装路径,通常DDK安装完成后会自动生成一个环境变量�KROOT%,它就是其路径
%2:编译模式,checked为调试模式,free为发行模式
%3:存放驱动程序源代码的磁盘盘符
%4:存放驱动程序源代码的完整路径(到工程名),是源程序,source文件和makefile文件的路径
(2) 执行VC,创建一个空的makefile工程
(3) 在Debug的Command栏里输入“build.bat �KROOT% checked d:\MinDriver”
(4) 在Release的Command栏里输入“build.bat �KROOT% free d:\MinDriver”
(5) 创建工程完成后,将第一步创建的build.bat文件复制到新建工程的目录下。
(6) 将MinDriver目录,包括其下所有文件,复制到新建工程的目录下。或者在此目录下新建.c,.h文件
(7) 确保编译命令行的路径正确。
(8) 执行编译