• VC/DDK/DriverWorks开发环境配置


    1·前言
    开发windows内核驱动程序是一个非常具有挑战性的工作,你得忍耐调试过程中操作系统 不断蓝屏、不断崩溃的噩梦,所以强烈建议你采用虚拟机做开发平台,这样即使把整个系统都搞蹦了,大不了从新装过虚拟机而已。那么搭建一个完整的 Windows驱动开发环境是每个人必须迈过的第一道坎。本文将具体介绍如何安装和配置好一个完整的DDK开发换件:
    Windows XP + 英文原版Visual studio 6.0 + WinXP_DDK + DriverStudio 3.2

    2·准备工作
    先要把eset(360杀毒软件)卸载掉。从网站http://www.moodisk.com/download_other_c.php下载并解压下列软件:
    (1)·DriverStudio_3.2_CR.rar;
    (2)·Visual.C++.6.EN.zip;
    (3)·winxp_ddk.rar;
    (4)·ntstrsafe.lib+csq.lib.rar;
    解压DriverStudio_3.2_CR.rar,进入解压后的目录DriverStudio_3.2_CR,再把其中 driverstudio.3.2.crack.rar解压,产生目录driverstudio.3.2.crack,里面有两个文件SN.txt和 compuware.dat,前者包含序列号,后者是证书文件,这两个文件在安装过程中会用到。

    (DriverStudio 3.1下载地址:http://blog.csdn.net/mobidogs/archive/2007/01/23/1491503.aspx

    3·安装和配置
    软件的安装顺序:Windows XP --> VC6.0 --> WinXP_DDK -> DriverStudio3.2,如果顺序装错了,那么把DriverStudio3.2删除再重装就OK了。从网上找到库文件 ntstrsafe.lib+csq.lib.rar,把解压出来的两个库文件拷贝到WinXP_DDK的安装目录下的库目录中(我的是 C:WINDDK2600libwxpi386)。启动vc6,然后进行简单的配置:菜单DriverStudio菜单下的DDK Build Settings,在弹出的对话框中选择已经安装的DDK目录(比如我的是C:WINDDK2600),在Windows DDK compiler Options中选择"Enable only for Driver Studio"。
    VC6.0-->Tools-->Options,点击"Directories"选项卡:
    1)·“Show directories for:"下选择Include files,然后检查有没有包含ddk的头文件目录(我的是C:WINDDK2600incwxp),如果没有则加上;
    2)·“Show directories for:"下选择Library files,然后检查有没有包含ddk的库文件目录(我的是C:WINDDK2600libwxpi386),如果没有则加上;


    注意:安装DDK时一定要把例子安装(建议你安装全部的模块),否则编译vdwlibs.dsw时会报如下的错:
    vdw_wdm.lib - 1 error(s), 0 warning(s)
    然后打开引起错误的文件,发现:
    #error The file is from the DDK at srcwdmhidinc. Install DDK HID samples to install hidport.h.  Or update INCLUDE path for hidport.h in the DDK!
    这表明安装WinXP_DDK的时候没有安装实例。

    4·编译适合本机使用的库文件(以下内容,如果用DDK编程者可以不看)
    (1).启动VC6.0。开始-->所有程序 -->Compuware DriveStudio-->Develop-->DDK Building Settings,确保“DDK Root Directory”下方的内容是ddk的安装目录(比如我的是C:WINDDK2600),然后点击下方的"Luanch Program"正式启动vc6的开发环境。
    (2).进入菜单File-->Open Workspace(打开位于DriverStudio3.2安装目录的DriverWorksSourcevdwlibs.dsw)--> 进入菜单Build-->batch Build,点击“Select x86"按钮只选中全部的32位库(我的电脑是32位的。注意:对于32位的电脑一定不要选中64位的库,否则后面编译会出错)-->点击按 钮"Rebuild AlL”开始编译。(注意:这种方法我曾经成功过一次,但后来再也没成功过,于是百度GOOGLE很久,发现下面这样也行:设置VdwLibs为活动项,选中Win32 WDM Checked,然后用DriverStudio里面的 Build with Build.exe即可以。然后再选Win32 WDM Free再Build一下,这样就出现了想要的vdw_wdm.lib
    注:如果出现无法打开文件这类的错误,一般都是DDK Build Settings指向不对,或安装顺序有误,或者你在32位机器上选中了64位库。

    5·编译一个DriverStudio自带的实例
    (1)·启动vc6,点击菜单 File-->Open Workspace,打开项目文件C:Program FilesCompuwareDriverStudioDriverWorksExampleswdmhellowdm HelloWdm.dsw,然后编译,如果没有报错,那说明安装和配置成功。但请你别高兴的太早,开发环境安装配置成功只是万里长城的第一步,剩下的你 就是要理解驱动模块的架构和具体的代码编写了。

    6·使用Driver wizard生成驱动程序框架
    (1).在VC6.0的界面下,点击菜单DriverStudio-->Driver wizard,此后系统会一步一步引导你完成设置,最后自动生产的驱动程序框架。
    (2).设置好后将生成驱动文件,然后用VC6.0进行编译:进行Build菜单,Rebuild AlL将生成.sys文件,说明驱动模块编译成功!
    注:如果出现无法打开ntstrsafe.lib的错误,说明系统缺少这个库文件,参照上面的方法补上这个库文件,或者进入菜单 Project-->Settings,鼠标点击左边方框里的最上面一行,然后右边"Project Option"下的ntstrsafe.lib并删除它。

  • 相关阅读:
    Extjs 4.0 Grid 数据绑定 json 分页 不分页
    [转]AS语言基础
    tig支持中文搜索
    LPC及MudOS简介(一)
    欢送2012
    存储器性能测试
    为什么go语言适合开发网游服务器端
    从一段代码里看FreeBSD与Linux内存分配的不同
    新的开始
    多语言协作与二进制交互
  • 原文地址:https://www.cnblogs.com/yuqiao-ray-vision/p/3809144.html
Copyright © 2020-2023  润新知