如何配置VC编译Windows驱动程序
vc++60中开发驱动程序的配置方法

VC++6.0中开发驱动程序的配置方法注意:如果你的电脑中没有安装VC++6.0等软件的话,请先安装 VC++ 6.0 ,再安装DDK,最后安装DriverStudio。
安装顺序一定不要搞错哟。
一、首先创建一个你的驱动工程文件目录。
这个目录下用来放置你的各个驱动工程文件夹。
(比如我在D盘创建了一个D:\PCI9052DVP\PCI9052DRV文件夹作为我的驱动工程文件目录)。
二、然后添加1个用户环境变量,DDKROOT,他的值应该是你所安装DDK的根目录。
(比如在安装DDK时安装到了E:\WINDDK\3790.1830,那么 DDKROOT的值应该为E:\WINDDK\3790.1830)。
添加用户环境变量后电脑需要重启。
如果没有这个用户环境变量,将不会编译任何一个文件。
三、编写一个MakeDrvr.bat批处理文件,如下(可直接copy,不用修改)。
MakeDrvr.bat应该放在工程目录下面D:\PCI9052DVP\PCI9052DRV。
@echo offif "%1"=="" goto usageif "%3"=="" goto usageif not exist %1\bin\setenv.bat goto usagecall %1\bin\setenv %1 %4%2cd %3build -b -w %5 %6 %7 %8 %9goto exit:usageecho usage MakeDrvr DDK_dir Driver_Drive Driver_Dir free/checked [build_options]echo eg MakeDrvr %%DDKROOT%% F: %%WDMWorkshop%% free -cef:exit四、建立一个Makefile工程下面我将要建立一个PCI9052DRV的工程。
Windows驱动程序开发环境配置

Windows驱动程序开发笔记一、WDK与DDK环境最新版的WDK 微软已经不提供下载了这里:https:/// 可以下并且这里有好多好东东!不要走进一个误区:下最新版的就好,虽然最新版是Windows Driver Kit (WDK) 7_0_0,支持windows7,vista 2003 xp等但是它的意思是指在windows7操作系统下安装能编写针对windows xp vista的驱动程序,但是不能在xp 2003环境下安装Windows Driver Kit (WDK) 7_0_0这个高版本,否则你在build的时候会有好多好多的问题.上文build指:首先安装好WDK/DDK,然后进入"开始"->"所有程序"->"Windows Driver Kits"->"WDK XXXX.XXXX.X" ->"Windows XP"->"x86 Checked Build Environment"在弹出来的命令行窗口中输入"Build",让它自动生成所需要的库如果你是要给xp下的开发环境还是老老实实的找针对xp的老版DDK吧,并且xp无WDK 版只有DDK版build自己的demo 有个常见问题: 'jvc' 不是内部或外部命令,也不是可运行的程序。
解决办法:去掉build路径中的空格。
二、下载 WDK 开发包的步骤1、访问Microsoft Connect Web site站点2、使用微软 Passport 账户登录站点3、登录进入之后,点击站点目录链接4、在左侧的类别列表中选择开发人员工具,在右侧打开的类别:开发人员工具目录中找到Windows Driver Kit (WDK) and Windows Driver Framework (WDF)并添加到您的控制面板中5、添加该项完毕后,选择您的控制面板,就可以看到新添加进来的项了。
VC编写驱动方法

VC编写驱动方法编写VC驱动方法在VC开发中,驱动方法是一种非常重要的处理方式。
它可以帮助程序员更好地管理代码,增加代码的可读性以及可维护性。
下面将介绍一些常用的VC驱动方法。
1.初始化方法初始化方法是驱动程序启动时最先调用的方法,在这个方法中可以进行一些初始化操作,比如初始化一些全局变量、分配内存等。
在VC中,一般使用WinMain函数或者OnInitDialog方法来实现初始化。
2.事件处理方法事件处理方法是用来处理操作系统或者用户输入的事件的方法,比如鼠标点击事件、键盘按键事件等。
在VC中,可以通过添加事件响应函数来实现事件处理方法。
在这些方法中,可以根据事件的类型和参数来做出不同的反应。
3.获取数据方法获取数据方法是用来从外部或者数据库中获取数据的方法,比如从文件中读取配置信息、从网络中获取数据等。
这些方法可以根据需要进行适当的封装,例如提供参数来指定从哪个文件中读取配置信息,或者提供一个回调函数来处理网络数据。
4.更新数据方法更新数据方法是用来向外部或者数据库中写入数据的方法,比如向文件中写入日志信息、向数据库中插入新的记录等。
这些方法可以根据需要进行适当的封装,例如提供参数来指定要写入的文件或者数据库的位置,或者提供一个回调函数来处理写入的结果。
5.计算方法计算方法是用来进行一些数学或者逻辑计算的方法,比如计算两个数的和、判断一个数是否为质数等。
在VC中,可以将这些方法放在一个单独的类或者模块中,方便调用。
另外,为了增加代码的可读性,可以添加注释来说明计算的过程和结果。
6.绘制方法绘制方法是用来在屏幕上绘制图形或者文本的方法,比如绘制一个按钮、一个文本框等。
在VC中,可以通过使用GDI+库来实现绘制方法。
在这些方法中,可以使用各种图形和绘制函数来实现特定的绘制效果。
7.保存方法保存方法是用来将程序状态或者数据保存到磁盘或者其他设备中的方法,比如保存程序的配置信息、保存用户输入的数据等。
使用VC6.0 DDK编译驱动程序的实用技巧详解(经典总结版)

VC6编译驱动的方法(含32和64位)设计初衷我对VC6较熟悉,尤其喜欢他的Go To Definition的右键功能,我可以随时找到我程序中用到的函数,结构体等详细信息,可以知道他在哪个头文件中。
但我以前写的一篇用makefile 来创建的工程虽然可以在VC6下编译驱动,但是在编程时想查找一下某个函数或结构,总要借助于DDK的帮助文档来查看,实在不方便!带着一点试试的想法,居然我在VC6下也可以象做应用程序一样的开发驱动。
总之,这是利用了VC6的IDE环境,用了VC6下的一些工具(BSCMAKE.EXE),又利用了DDK下的编译工具,MAKE程序来实现的。
就是按下VC6下的编译命令,我需要调用的编译器,连接器应该是DDK下的,而其他工具我还是用VC6自带的。
这样,我居然成功了。
下面将方法分享给大家,有不正确的地方还请指教。
准备工作首先,如果你使用的是WINXPDDK,那么安装之后(默认安装在c 盘),找到C:\WINDDK\2600\bin\x86。
然后,如果你安装了VC6,那么到C:\Program Files\Microsoft Visual Studio\VC98下,你会看到一个bin 文件夹,我们将这个文件夹先改名为binVC6。
然后我们创建一个新的bin文件夹。
将C:\WINDDK\2600\bin\x86文件夹下的所有文件拷贝到C:\ProgramFiles\MicrosoftVisual Studio\VC98\bin 目录下。
注意:这个bin 目录是我们新建的,原来VC6自带的BIN 文件夹我们已经改成了BINVC6。
将C:\Program Files\Microsoft Visual Studio\VC98\BINVC6下的文件复制,然后粘贴到C:\Program Files\Microsoft Visual Studio\VC98\bin 目录下,注意:系统提示是否覆盖时,请选择不覆盖!这样VC6编译的时候会使用DDK所带的ML,CL,LINK等程序编译驱动。
VC6.0+WDK开发驱动的环境配置

VC6.0+WDK开发驱动的环境配置1.安装好VC6和DWK,先后顺序⽆关。
从开始菜单找到WDK的程序⽬录,进⼊“Windows XP Checked Build Environment”,输⼊命令"build",此时WDK将会把⾃⼰进⾏编译,⼤约需要1分钟。
2.VC6设置Include/Lib/Executable⽬录。
设置为⾃⼰需要编译的平台的各个⽬录即可, Include要确保找到ntddk.h等,Lib与Include对应,Executable 要确保能找到cl.exe例如XP平台下设置为:include包含部分:C:\WinDDK\7600.16385.1\inc\ddkC:\WinDDK\7600.16385.1\inc\apiC:\WinDDK\7600.16385.1\inc\crtlib连接库包含部分:C:\WINDDK\7600.16385.1\LIB\WXP\I386C:\WINDDK\7600.16385.1\LIB\WIN7\I386执⾏⽂件包含:C:\WINDDK\7600.16385.1\BINC:\WINDDK\7600.16385.1\BIN\X86C:\WinDDK\7600.16385.1\bin\x86\x86对于VC原有的路径,Include 和 Lib建议都删除掉,⽽Executable则将你新加的置顶,顺序不能错。
其余建议保留(虽然编译驱动不会使⽤VC的Bin⽬录下的ml.exe、link.exe 等,但vc的代码提⽰等功能是需要bin⽬录下的⼀些程序来完成的,因此还是⾄少要保留VC原有的Bin⽬录,但必须在DDK的之后)。
3.建⽴⼀个空⼯程,Exe或者Dll都可以,然后直接修改⼯程属性:要改的地⽅不少,描述各个选项还不如直接记录个⽂本的,清空C/C++和Link下⾯的Option⽂本框,按下⾯的填写。
C/C++ 选项填写:/nologo /Gz /MLd /W3 /WX /Z7 /Od /D WIN32=100 /D _X86_=1 /D WINVER=0x500 /D DBG=1 /Fo"MyDriver_Check/" /Fd"MyDriver_Check/" /FD /cLINK 选项填写:NT式驱动为ntoskrnl.lib /nologo /base:"0x10000" /stack:0x400000,0x1000 /entry:"DriverEntry" /subsystem:console /incremental:no /pdb:"MyDriver_Check/HelloDDK.pdb" /map:"MyDriver_Check/HelloDDK.map" /de WDM式驱动为wdm.lib /nologo /base:"0x10000" /stack:0x400000,0x1000 /entry:"DriverEntry" /subsystem:console /incremental:no /pdb:"SYS_Check/HelloWDM.pdb" /debug /machine:I386 /nodefaultlib /out:"SYS_Che 4.保存配置,现在给这个空⼯程建⼀个c⽂件,复制以下内容:#include <ntddk.h>NTSTATUS DriverEntry(IN PDRIVER_OBJECT DriverObject,IN PUNICODE_STRING RegistryPath){NTSTATUS status = STATUS_UNSUCCESSFUL;return status;}编译通过则配置成功----------------------------------------------------------------------------------------------Vc6 英⽂版;(随处都有)WDK3790.1830(1830_usa_ddk.iso的解压⽂件)或者2006.1106版本;DriverStudio3.2 。
基于windows的c++驱动程序编写过程

基于windows的c++驱动程序编写过程在 Windows 操作系统上编写 C++驱动程序需要遵循特定的步骤和使用相关的工具。
以下是一般的编写过程概述:1. 选择驱动程序类型:首先,你需要确定要编写的驱动程序类型,例如设备驱动程序、文件系统驱动程序或网络驱动程序等。
不同类型的驱动程序有不同的功能和要求。
2. 了解 Windows 驱动模型:Windows 提供了两种主要的驱动模型:WDM(Windows Driver Model)和 KMDF(Kernel-Mode Driver Framework)。
WDM 是较旧的驱动模型,而 KMDF 是推荐使用的现代驱动模型。
了解所选择的驱动模型的架构和概念对于编写驱动程序非常重要。
3. 安装开发工具和头文件:你需要安装适当的开发工具,如 Visual Studio,以及相关的 Windows 驱动开发工具包(DDK)或 Windows Driver Kit(WDK)。
这些工具包提供了必要的头文件和库文件。
4. 创建驱动程序项目:使用开发工具创建一个驱动程序项目。
你可以选择创建一个空项目或使用驱动程序模板。
5. 编写驱动程序代码:根据所选择的驱动模型,编写驱动程序的功能代码。
这包括设备初始化、设备控制、数据传输等。
你需要使用相关的 Windows API 和驱动程序特定的函数来实现所需的功能。
6. 配置驱动程序属性:在项目属性中,设置驱动程序的相关属性,如驱动程序类型、版本号、制造商等。
7. 构建和调试驱动程序:使用开发工具构建驱动程序,并进行调试。
你可以使用调试器来检查代码的执行情况,并解决可能出现的问题。
8. 测试和部署驱动程序:在开发环境中测试驱动程序,确保其正常工作。
然后,你可以将驱动程序安装到实际的设备上进行测试。
需要注意的是,编写 Windows 驱动程序需要深入了解操作系统的内部机制和相关的编程概念。
此外,驱动程序的开发和调试过程可能比较复杂,需要耐心和经验。
vc++ 编程实例

以下是一个简单的VC++编程实例,它演示了如何使用VC++创建一个Windows应用程序,并在其中添加一个按钮和一个文本框。
1. 打开Visual Studio并创建一个新的Windows应用程序项目。
2. 在“解决方案资源管理器”中,右键单击项目并选择“添加”->“新建项”。
3. 在“添加新项”对话框中,选择“Windows窗体”并命名为“Form1”。
4. 在Form1的设计视图中,从工具箱中拖动一个按钮和一个文本框控件到Form1上。
5. 双击按钮控件以生成其单击事件处理程序。
6. 在按钮的单击事件处理程序中,编写以下代码:
```c++
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e)
{
// 在文本框中显示按钮的文本
textBox1->Text = "你点击了按钮";
}
```
7. 保存并编译项目。
这个应用程序将在运行时显示一个包含按钮和文本框的窗口。
当用户单击按钮时,文本框将显示消息“你点击了按钮”。
vc2010的使用方法

vc2010的使用方法VC2010是微软公司推出的一款集成开发环境(Integrated Development Environment, IDE),用于开发基于Windows操作系统的应用程序。
本文将介绍VC2010的使用方法,帮助读者快速上手并熟练运用该开发环境。
一、VC2010的安装和配置1. 下载VC2010安装包,双击运行安装程序。
按照提示选择安装目录和组件,建议选择完整安装以获得更多的功能和工具。
2. 安装完成后,打开VC2010。
首次打开时,会弹出一个“开始页面”,其中包含了最近打开的项目、新建项目的模板等信息。
可以根据需要选择打开项目或新建项目。
3. 配置编译器和调试器:点击菜单栏上的“工具”-“选项”,在弹出的对话框中选择“项目和解决方案”-“VC++目录”,可以配置编译器和调试器所需的文件和路径。
二、新建项目1. 在VC2010中,可以通过菜单栏上的“文件”-“新建”-“项目”来创建一个新项目。
在弹出的对话框中,可以选择项目类型和模板。
2. 选择项目类型:根据具体需求选择相应的项目类型,比如Windows桌面应用程序、控制台应用程序、动态链接库等。
3. 选择模板:根据项目类型选择所需的模板。
模板包括空项目、基于DLL的MFC应用程序、Win32控制台应用程序等。
4. 指定项目名称和保存路径,并点击“确定”按钮。
VC2010将自动生成一个项目文件夹,并在其中创建项目文件和相应的代码文件。
三、编辑和编译代码1. 打开项目后,可以在“解决方案资源管理器”中看到项目的文件结构。
在源文件中,可以编写代码。
2. VC2010支持多种编程语言,比如C++、C#等。
根据项目需求,选择相应的编程语言进行开发。
3. 在编辑器中编写代码,可以使用智能感知和自动补全等功能,提高编码效率。
同时,VC2010还提供了丰富的调试工具,可以帮助开发者快速定位和解决问题。
4. 编写完成后,点击菜单栏上的“生成”-“生成解决方案”来编译项目。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用VC IDE环境编译驱动程序目前Windows驱动程序分为两类,一类是不支持即插即用功能的NT式驱动程序,另一类是支持即插即用功能的WDM驱动程序。
它们在用VC IDE编译驱动程序时有些不一样,下面分开说明:
一、NT驱动( 红色字体标注的地方是容易忽略的):
(1)用VC建立一个新工程。
在VC IDE环境下选择“File”“New”,弹出“New”对话框。
在该对话框中,选择“Project”选项卡。
在“Project”选项卡中,选择Win32 Application,在这个基础上进行修改。
工程名为“XXXXXX”,。
单击“OK”,进入下一个对框框,在该对话框中,选择一个空的工程。
(2)将驱动程序的两个源文件XXX.h和XXX.cpp拷贝到工程目录中,并添加到工程中(Project->Add To Project->File)。
(3)增加新的编译版本,去掉Debug和Release版本(Build->Configuration中添加一个Check)。
(4)修改工程属性。
选择“Project”|“Setting”,在对话框中,选择“General”选项卡。
将Intermediate files和Output files改为XXX_Check。
(5)选择C/C++选项卡,将原有的Project Options内容中全部删除,替换成如下内容,/nologo /Gz /MLd /W3 /WX /Z7 /Od /D WIN32=100 /D _X86_=1 /D WINVER=0x500 /D DBG=1 /Fo”MyDriver_Check/” /Fd”MyDriver_Check/” /FD /c
(6)选择Link选项卡,将原有的Project Options内容全部删除,替换成如下内容,ntoskrnl.lib /nologo /base:”0x10000”/stack:0x400000,0x1000 /entry:”DriverEntry”
/subsystem:console /incremental:no /pdb:”MyDriver_Check/XXX.pdb”/debug /machine:I386 /nodefaultlib /out:”MyDriver_Check/XXX.sys”/pdbtype:sept /subsystem:native /driver /SECTION:INIT,D /RELEASE /IGNORE:4078
(7)修改VC的lib目录和include目录。
在VC中选择“Tools”|“Options”,在弹出的对话框中选择“Directories”选项卡。
在“Show directories for”下拉菜单选择“Include files”菜单。
添加“D:\WINDDK\2600\INC\W2K”和“D:\WINDDK\2600\INC\DDK\W2K”,并将这两个目录置于最上。
大家可以将这个目录“D:\WINDDK\2600”改成你们自己安装的目录。
这里应该选择W2K子目录,DDK中还会有相应的XP子目录。
但因为XP驱动编译时候需要高版本的VC编译
器,所以这里用的都是W2K子目录,包括后面讲到的WDM驱动程序也是这样子的。
它编译的代码完全可以应用于Windows2000和Windows XP操作系统。
(8)在“Show directories for”下拉菜单中选择“Library files”菜单,添加目录“D:\WINDDK\2600\LIB\W2K\I386”,并置于最上端。
(9)编译。
按F7键。
同样会在文件下得到XXX.sys文件。
二、WDM驱动(前五点都和NT一样,6,7稍有不同,见蓝色字体):
(6)选择Link选项卡,将原有的Project Options内容全部删除,替换成如下内容,wdm.lib/nologo /base:”0x10000”/stack:0x400000,0x1000 /entry:”DriverEntry”
/subsystem:console /incremental:no /pdb:”MyDriver_Check/XXX.pdb”/debug /machine:I386 /nodefaultlib /out:”MyDriver_Check/XXX.sys”/pdbtype:sept /subsystem:native /driver /SECTION:INIT,D /RELEASE /IGNORE:4078
(7)修改VC的lib目录和include目录。
在VC中选择“Tools”|“Options”,在弹出的对话框中选择“Directories”选项卡。
在“Show directories for”下拉菜单选择“Include files”菜单。
添加“D:\WINDDK\2600\INC\W2K”和“D:\WINDDK\2600\INC\DDK\WDM\W2K”,并将这两个目录置于最上。
大家可以将这个目录“D:\WINDDK\2600”改成你们自己安装的目录。
这里应该选择W2K子目录,DDK中还会有相应的XP子目录。
但因为XP驱动编译时候需要高版本的VC 编译器,所以这里用的都是W2K子目录,包括后面讲到的WDM驱动程序也是这样子的。
它编译的代码完全可以应用于Windows2000和Windows XP操作系统。
(8)在“Show directories for”下拉菜单中选择“Library files”菜单,添加目录“D:\WINDDK\2600\LIB\W2K\I386”,并置于最上端。
(9)编译。
按F7键。
同样会在文件下得到XXX.sys文件。
以上这些都是摘自张帆的《Windows驱动开发技术详解》一书,只是为了大家查找方便,花了点时间练打字。
我已经校稿了好几次,若还有问题,帮我修正,像第5第6条就可以直接粘贴复制拿来用,但若有问题,以张帆那本书上为准。
(七叶疯君)。