WDK驱动开发与VS2008开发环境整合

一、下载与安装WDK

《寒》说,以前说的 DDK 、 IFS 已成为历史,现在已经改为使用 WDK 了,具体下载地址可以这里注册并下载: http://connect.microsoft.com,目前的版本是6001.18002,大小只有577MB。
下载安装后,假设安装路径为 “c:/winddk” ,接下来要设计环境变量,添加: BASEDIR ,值为: “c:/winddk/6001” 。必须设置此环境变量,否则下面编译时会出问题。
二、 Visual Studio 的开发环境
笔者用的是 Visual Studio 2005 ,所以就以此版本介绍,其他版本的类似。
首先新建项目,类型选择 Visual C++->General 中的 “Makefile Project” ,这里的项目保存路径不要包括空格、中文等字符,否则会造成后面编译时的出错。
下一步,在 Debug Configuration Settings 中设置如下:
Build command line: ddk_build chk wxp
Clean commands: ddk_clean chk wxp
Rebuild command line: ddk_build chk wxp /a
Output: first.sys
如图:
下一步,在 Release Configuration Settings 中与 Debug 的一样,只是把 “chk” 改为 “fre” 即可,如下图:
接下来设置工程属性,在 All Configurations 中, Configuration Properties->NMake->Include Search Path 中添加路径:
C:/WinDDK/6000/inc/ddk;C:/WinDDK/6000/inc/api
接下来添加源代码文件,举个例子:
first.c

 

#include <ntddk.h>
VOID DriverUnload(PDRIVER_OBJECT driver)
{
    DbgPrint("Driver unloading.../n");
}
NTSTATUS DriverEntry(PDRIVER_OBJECT driver, PUNICODE_STRING reg_path)
{
    DbgPrint("Entered Driver Entry!/n");
    driver->DriverUnload = DriverUnload;
    return STATUS_SUCCESS;
}
 
现在可以发现在 VS 中可以使用 VS 开发环境带来的强大功能,如查看 PDRIVER_OBJECT 的定义、查看某变量的成员函数( Ctrl+J) 等等。
接下来要为编译作准备,添加以下这些文件:
makefile

 

!IF 0
Copyright (C) Microsoft Corporation, 1999 - 2002
Module Name:
    makefile.
Notes:
    DO NOT EDIT THIS FILE!!!  Edit ./sources. if you want to add a new source
    file to this component.  This file merely indirects to the real make file
    that is shared by all the components of Windows NT (DDK)
!ENDIF
!INCLUDE $(NTMAKEENV)/makefile.def
 
sources

 

TARGETNAME=first
TARGETTYPE=DRIVER
TARGETPATH=obj
SOURCES=first.c
 
ddk_build.bat

 

@echo on
@echo %1 is chk or fre %2 is WXP or W2K or WNET.
if "%4"=="/a" call ddk_clean %1 %2
pushd.
call %BASEDIR%/bin/setenv.bat %BASEDIR% %1 %2
popd
@echo on
build
 
ddk_clean.bat

 

if exist Debug rd /s /q Debug
if exist Release rd /s /q Release
if exist obj%1_%2_x86 rd /s /q obj%1_%2_x86
 
现在,按 F7 就可以编译连接了。
以上就是搭建 VS 的内核开发环境过程。
 
三、调试环境
使用到的工具是: VMware 、 WinDbg 、 srvinstw.exe 等。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值