在VC6集成环境中开发设备驱动程序的方法

Win11下安装Visual Studio 6.0 Win11下安装Visual Studio 6.0。使用Vb6 阅读详情

在Windows上,Windows DDK提供的开发环境是基于命令行的,操作起来极为不便,相信进行过驱动程序开发的朋友一定对此深恶痛绝。另一方面,Visual Studio 6.0却给我们提供了非常友好易用的集成环境,让我们有如虎添翼之感。

   那么,能否利用Visual Studio的集成环境来开发驱动程序呢?笔者经过多方探索,并结合自己开发驱动的经验,摸索出了一套实用的方法,通过对Visual Studio集成环境的简单设置,创建了自己的驱动开发集成环境了。  下面笔者的一些经验奉献出来与大家共享,如有不当,欢迎指正。

0.系统要求已安装

  DDK
  Visual C 6.0(安装时选上所有工具)

1.改造ddk/bin/setenv.bat

   把要求mstools的有关语句注释掉(若想在命令行环境开发驱动则还需加入call VC_DIR/VC98/Bin/Vcvars32. bat),以便能在命令行使用vc的相关工具;若只想在IDE环境开发就不必调用 Vcvars32.bat,因为相关工具的路径信息可以在vc环境中设置.)

2.创建一个目录DriverEnv(目录名随意),作为你开发驱动的大本营

3.在该目录下创建一个批处理文件MakeDrvr.bat,内容如下:

@echo off
if "%1"=="" goto usage
if "%3"=="" goto usage
if not exist %1/bin/setenv.bat goto usage
call %1/bin/setenv %1 %4
%2

cd %3
build -b -w %5 %6 %7 %8 %9

goto exit

:usage
echo usage MakeDrvr DDK_dir Driver_Drive Driver_Dir free/checked [build_options]
echo eg MakeDrvr %%DDKROOT%% C: %%WDMBOOK%% free -cef
:exit

  该批处理首先对传递的参数作一些检查,然后调用ddk的setenv命令设置环境变量,然后改变目录为源程序所
在驱动器和目录,并最后调用build,-b保证显示完全的错误信息,-w保证在屏幕上输出警告,在vc ide里的output窗口中可以看到这些错误和警告。

4.建立一个空白工程

  选File的new菜单项,然后选project栏的makefile,然后输入路径,一路next下去即可,visual studio提供两种配置win32 debug和win32 release.

5.修改这两种配置

  选project的settings菜单项win32 debug:
  在Build Command Line一栏填入MakeDrvr DDK_DIR SOURCE_DRIVE SOURCE_DIR checked [build options]
  在Rebuild all options一栏填入 -nmake /a
  在output file一栏填入与sources文件中的TARGETNAME相同的文件名
  在Browse info file name一栏填入obj/i386/checked/(与TARGETNAME相同的文件名,见下述).bsc

  win32 release:
  在Build Command Line一栏填入MakeDrvr DDK_DIR SOURCE_DRIVE SOURCE_DIR free [build options]
  在Rebuild all options一栏填入 -nmake /a
  在output file一栏填入与sources文件中的TARGETNAME相同的文件名
  在Browse info file name一栏填入obj/i386/free/(与TARGETNAME相同的文件名).bsc
  
注:DDK_DIR一般可以写成%BASEDIR%,build options一般为-cef即已足够

6.添加源文件到工程

  可以新建,也可以添加,这和普通的win32开发一样。

7.添加资源文件

  选INSERT的RESOURCE菜单项即可

8.把文件makefile放入源程序目录,其内容总是

#
# 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 driver components of the Windows NT DDK
#

!INCLUDE $(NTMAKEENV)/makefile.def

9.把文件Sources放入源程序目录,内容为

  TARGETNAME=RamDrive//这是要生成的驱动程序.sys文件的名字
  TARGETPATH=obj //.sys文件所在目录的上层目录,(由于ddk的bug)应手工在obj目录下创建checked和free目录,以作为.sys的最终存放目录
  TARGETTYPE=DRIVER //驱动程序的类型,一般不变
  INCLUDES=$(BASEDIR)/inc //ddk包含文件路径,一般不变
  SOURCES=RamDrive.cpp RamDrive.rc //源文件(不要头文件),资源文件
  BROWSER_INFO = 1 //若想要浏览信息,则要有本行;否则可无

10.因为MakeDrvr.bat在DriverEnv目录,所以应把该目录添加到vc的Executable files里面

  选tools的options菜单项,然后选directories页,在show directories for一栏选择Executable files,然后添加即可.

  至此,环境设置完毕,你可以按F7, build你的驱动程序了。

Visual Studio 6.0 下载地址 V6.0各种版本官方下载网址 Visual Stdio 6包含下列组件: 【下列全套组件包含在VSE600ENU1.iso,VSE600ENU2.iso,VSE600ENU3.iso,VJP60_ENU1.iso】 Microsoft Visual Studio Enterprise Edition Microsoft Visual Basic Microsoft Visual C++ Microsoft Visual Dat... 阅读详情

相关推荐

vs6.0 镜像下载地址

visual basic 6.0 visual c++ 6.0 visual foxpro 6.0 visual interdev 6.0 visual j++ ...

zing's blog 3467

如何在Visual Studio中安装.net6.0 或者 将在Visual Studio中将.net 5.0更新为6.0

找到“目标框架”字段,并从下拉列表中选择“.net 6.0”。2.在弹出的窗口中,选择“单个组件”选项卡并勾选“ .net 6.0开发人员工具”复选框。在“预览功能”页面中,找到“.net sdk 的使用情况”选项,并勾选它。4.等待安装完成后,您可以启动新的.net 6.0项目并开始使用它。点击顶部菜单栏中的“工具”选项,再点击下拉菜单里的 “选项”。在弹出的窗口中,选择“环境”节点,然后选择“预览功能”子节点。点击顶部菜单栏中的“项目”选项,然后选择“属性”。在“项目属性”窗口中,选择“应用”选项卡。

weixin_49642005的博客 1万+

VC6下DDK开发环境配置与驱动程序开发指南

简介:在VC6中配置DDK开发环境是编写和调试Windows设备驱动程序的基础。DDK包含了创建Windows内核模式驱动所需的工具和库。本文详细介绍了如何下载安装合适的DDK版本,将DDK路径添加到VC6配置中,创建驱动程序项目模板,并使用DDK的API和工具进行编译与调试。掌握这些步骤对于深入了解Windows内核编程,以及开发稳定、高效的设备驱动程序至关重要。

weixin_30674431的博客 735

如何在Win10中安装Visual Studio 6.0

本文介绍了如何解决在win10系统运行VC6.0时打开文件闪退的问题,以及如何在VC6.0通过trace输出调试信息。

weixin_50750451的博客 2752

VC6.0环境下的USB HID通信实践

USB HID(Human Interface Device)是一种专门为计算机与人类交互设备之间的通信而设计的标准。在USB协议中,HID类设备定义了一系列标准化的方式来控制键盘、鼠标、游戏控制器等输入设备和一些有限的输出设备,如LED指示灯或振动反馈。HID类设备是指那些专门用于与用户直接进行交互的设备,如键盘、鼠标、游戏控制器以及特定的医疗和科学仪器等。HID类设备具有简单、高效和易于使用的特性,使其成为个人计算中不可或缺的组件。USB HID类设备通过预定义的标准报告描述符来通信。

weixin_42611177的博客 1130

VC6.0实现的安全删除U盘工具项目

在Windows操作系统中,设备驱动程序(Device Driver)是一种特殊的软件,它允许操作系统和硬件设备之间进行通信。驱动程序的作用可以被看作是翻译官,将操作系统发出的抽象请求转换成硬件能理解的指令,反之亦然。这使得操作系统能够控制设备硬件,而无需了解设备的具体技术细节。在U盘管理中,DDM扮演了关键角色。U盘作为即插即用的移动存储设备,其驱动程序需要处理设备识别、数据传输、电源管理等一系列任务。

weixin_35950531的博客 1280

用VC6.0集成环境快速开发VxD

                                                    作者/马飞涛VxD (Virtual Device Driver), 即虚拟设备驱动程序, 是运行在处理器Ring0特权级别的驱动程序,可以执行任何处理器指令,访问机器中的任何数据寄存器。VxD被用作Windows 9x系统和物理设备之间的接口,扩展了WINDOWS 系统的核心服务,能够访问

曾登高 3430

用R语言实现“中断时间序列分析” --- R code for ITS

ITS方法可用于评估一项干预措施的效果,从水平改变和斜率改变两个角度来描述干预引起的变化。

franksui的博客 4026

在Visual Studio 6.0集成环境中开发设备驱动程序的方法

  在Windows上,Windows DDK提供的开发环境是基于命令行的,操作起来极为不便,相信进行过驱动程序开发的朋友一定对此深恶痛绝。另一方面,Visual Studio 6.0却给我们提供了非常友好易用的集成环境,让我们有如虎添翼之感。 那么,能否利用Visual Studio的集成环境来开发驱动程序呢?笔者经过多方探索,并结合自己开发驱动的经验,摸索出了一套实用的方法,通过对Visu

项立纲 5220

Arm Neoverse CMN-700 SLC内存系统与缓存分区技术解析

现代处理器架构中,缓存一致性协议与内存子系统设计直接影响系统性能。Arm Neoverse CMN-700采用的SLC(System Level Cache)通过16-way组相联设计实现高效数据缓存,其物理地址索引机制支持灵活的way分区配置。在软件可配置内存(OCM)模式下,SLC可作为独立内存空间使用,通过寄存器控制实现模式切换与区域锁定。缓存分区技术则通过请求源分类和way-based分配策略,满足实时性任务与吞吐量场景的不同需求。这些技术在5G基站、边缘计算等低延迟场景中具有重要应用价值,特别是C

weixin_30263073的博客 611

一文搞懂雷达脉冲压缩和匹配滤波器

为了解决传统单频脉冲雷达面临的作用距离和空间分辨力之间的矛盾,脉冲压缩理论被提出。在接收端设计一个和发射信号能够“共轭匹配”的网络来实现脉冲压缩。接收到的回波信号通过匹配滤波器时,滤波器的增益在信号越强的频率点越大;在信号越弱的频率点,增益越小,通过这样的方式使信号在时域更加集中。脉冲压缩技术大致可分为线性调频(LFM)和相位编码。其中LFM信号易于通过硬件或各种技术产生,但是进行匹配滤波后主旁瓣比高达13.2dB,在检测多个目标时,强目标的回波旁瓣可能会把弱小信号覆盖,导致弱小信号的检测受到影响。

FPGA入门到跑路 9933

一个网友写的用VC6.0集成环境快速开发VxD

一个网友写的用VC6.0集成环境快速开发VxD 用VC6.0集成环境快速开发VxD                 VxD   (Virtual   Device   Driver),   即虚拟设备驱动程序,   是运行在处理器Ring0特权级别的驱动程序,可以执行任何处理器指令,访问机器中的任何数据寄存器。VxD被用作Windows   9x系统和物理设备之间的接口,扩展了WINDOWS

cason的专栏 928

OCR开发实战:如何用PaddleOCR C++版实现本地文字识别(附模型文件处理技巧)

本文详细介绍了如何使用PaddleOCR C++版实现本地文字识别,包括环境搭建、工程编译、运行时优化等全流程。重点讲解了在VS2019/VS2022环境下配置PaddleOCR的CPU推理性能优化技巧,以及模型文件处理的实际应用方法,帮助开发者高效完成OCR本地化部署。

devops8pract的博客 334

用VC6.0集成环境快速开发VxD(转载)

VxD (Virtual Device Driver), 即虚拟设备驱动程序, 是运行在处理器Ring0特权级别的驱动程序,可以执行任何处理器指令,访问机器中的任何数据寄存器。VxD被用作Windows 9x系统和物理设备之间的接口,扩展了WINDOWS 系统的核心服务,能够访问和控制实际的硬件环境。随着WIN 2000和新一代的设备驱动程序WDM(Windows Driver Model)推出,

haha365的专栏 867

STM32F407+HAL库+W5500实现TCP通讯 个人项目总结

推荐阅读此博客 cv即可成功首先需要一个可以进行串口调试的工程,方便进行调试。1.在W5500官网移植库文件重点是Ethernet这个文件夹将里面的 socket.c,socket.h,wizchip_conf.c,wizchip_conf.h,还有根据W5500文件夹里的w5500.c和w5500.h移植到自己的工程里面。然后再创建一个.c和.h文件 我的叫w5500_port_hal.c 和w5500_port_hal.h 记得将.h文件链接到工程里。

a234abr的博客 2246

英飞凌ADS开发环境搭建全流程:从安装到第一个程序烧录

本文详细介绍了英飞凌ADS开发环境搭建的全流程,包括环境准备、ADS安装与配置、MemTools烧录技巧等关键步骤。针对嵌入式开发者,特别提供了从安装到第一个程序烧录的实战指南,涵盖常见问题解决方案和优化建议,帮助开发者快速上手英飞凌AURIX系列微控制器的开发工作。

qsc901234的博客 332

windows XP下驱动开发环境设置(DDK+VC6.0)

[转]windows XP下驱动开发环境设置(DDK+VC6.0) 0 推荐 windows XP下驱动开发环境设置(DDK+VC6.0) 通常驱动程序的调试都是用ddk在cmd中完成的。这部分我暂时略过。下面先介绍如何设置vc++6.0在Visual

zzh520420的专栏 688

【CloudCompare教程】017:点云快速全局配准

点云数据的配准分为基于特征(特征点、特征线)的拼接和无特征拼接。特征点匹配的方法和全局ICP的方法。特征点的方法通过全局特征匹配达到全局配准,全局ICP的方法通过对变量空间进行搜索的方法达到全局最优解。

智慧空间实验室 3929

如何VC6.0下编译WDM驱动程序

VC6.0+DDK+DDAppWiz.awx ,按照以上顺序安装,且VC6.0要安装于根目录下,文件DDAppWiz.awx 需要拷贝至Microsoft Visual Studio//Common//MSDev98//Bin//IDE目录下。 即可实现在VC环境下对驱动程序的编写和编译。 PS: 1 文件DDAppWiz.awx 来源于《Windows2000设备驱动程序设计指南(The Win

Augusdi的专栏 1916

【传感器模块项目实战】机器人/无人驾驶常用传感器模型、选型与安装

认知有限,望大家多多包涵,有什么问题也希望能够与大家多交流,共同成长!无人车&无人机导航合集本文先对机器人/无人驾驶常用传感器模型、选型与安装做个简单的介绍,具体内容后续再更,其他模块可以参考去我其他文章提示:以下是本篇文章正文内容分为位置式绝对型编码器增量式编码器打比赛的时候用过欧姆龙的增量式编码器,也用过待编码器的步进电机。【防盗标记–盒子君hzj】增量式编码器正交编码输出信号,用于识别正转和反转,通过微控制器(单片机)的片内外设硬件/软件解码(1)惯性器件-机械陀螺。

qq_35635374的博客 446

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

vc 6.0中开发驱动设备程序配置方法

通常驱动程序的调试都是用ddk在cmd中完成的。这部分我暂时略过。下面先介绍如何设置vc++6.0在Visual Studio 6.0集成环境中开发设备驱动程序的方法。 在Windows上,Windows DDK提供的开发环境是基于命令行的,操作起来极为不便,而Visual S

1211

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

在Visual Studio 6.0集成环境中开发设备驱动程序的方法 (转)

在Visual Studio 6.0集成环境中开发设备驱动程序的方法 (转)[@more@]在Visual Studio 6.0集成环境中开发设备驱动程序的方法   在windows上,Windows DDK提供的开发环境是基...

csd3176的博客 181

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

上一篇: 常用语音编码的WAVE文件头格式剖析--各种编码
下一篇: 如何进行软件需求分析
serverxp
博客等级 码龄23年 31粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值