WDM驱动程序设计之编译安装篇
(作者:苏金国 2000年11月09日 13:26)
设计开发好自己的WDM驱动程序后,为了运行该驱动程序,我们必须编译和安装它们。
■编译设备驱动程序的方法
安装DDK后,在DDK程序组下有Check和Free两个编译环境,Check环境用于编译带调试信息的驱动程序,Free则是编译正式发布版本的环境。通常情况下设备驱动程序的编译采用命令行的方式。通过一定的设置可以在VC ++的集成环境下编译。
一般来说,成功编译一个最基本的设备驱动程序需要四个文件,第一个是驱动程序,即C语言源程序文件(例如vdisk.c,注意下面所有的例子都是以vdisk来说明);第二个是RC文件(例如vdisk.rc);第三个是sources文件;第四个文件是makefile.rc文件。sources文件和make文件类似,用来指定需要编译的文件以及需要连接的库文件。这三个辅助文件都很简单,在DDK samples的每个例程里都有三个这样的文件,依样画瓢就能理解它们的结构和意义。
1.举例分析
以下以vdisk程序为例,设vdisk.rc代码为:
/vdisk.rc/
#include
#include
#define VER_FILETYPE VFT_DRV
#define VER_FILESUBTYPE VFT2_DRV_SYSTEM
#define VER_FILEDESCRIPTION_STR "SCSI VDisk Driver"
#define VER_INTERNALNAME_STR "vdisk.sys"
#define VER_ORIGINALFILENAME_STR "vdisk.sys"
#include "common.ver"
/end of vdisk.rc/
设备驱动程序一般都使用Build实用程序来进行,Build只是NMAKE外面的一个外包装程序。Build本身其实相当简单,编译的大部分工作实际上由Build传递给NMAKE来进行。
/SOURCES/
(作者:苏金国 2000年11月09日 13:26)
设计开发好自己的WDM驱动程序后,为了运行该驱动程序,我们必须编译和安装它们。
■编译设备驱动程序的方法
安装DDK后,在DDK程序组下有Check和Free两个编译环境,Check环境用于编译带调试信息的驱动程序,Free则是编译正式发布版本的环境。通常情况下设备驱动程序的编译采用命令行的方式。通过一定的设置可以在VC ++的集成环境下编译。
一般来说,成功编译一个最基本的设备驱动程序需要四个文件,第一个是驱动程序,即C语言源程序文件(例如vdisk.c,注意下面所有的例子都是以vdisk来说明);第二个是RC文件(例如vdisk.rc);第三个是sources文件;第四个文件是makefile.rc文件。sources文件和make文件类似,用来指定需要编译的文件以及需要连接的库文件。这三个辅助文件都很简单,在DDK samples的每个例程里都有三个这样的文件,依样画瓢就能理解它们的结构和意义。
1.举例分析
以下以vdisk程序为例,设vdisk.rc代码为:
/vdisk.rc/
#include
#include
#define VER_FILETYPE VFT_DRV
#define VER_FILESUBTYPE VFT2_DRV_SYSTEM
#define VER_FILEDESCRIPTION_STR "SCSI VDisk Driver"
#define VER_INTERNALNAME_STR "vdisk.sys"
#define VER_ORIGINALFILENAME_STR "vdisk.sys"
#include "common.ver"
/end of vdisk.rc/
设备驱动程序一般都使用Build实用程序来进行,Build只是NMAKE外面的一个外包装程序。Build本身其实相当简单,编译的大部分工作实际上由Build传递给NMAKE来进行。
/SOURCES/