关于windows下驱动程序开发

author author     2023-04-28     309

关键词:

最近想学习一下驱动程序的开发,现有的基础是,能够较为熟练地掌握win32汇编,vc,对操作系统的理解限于大学教程内容。我查了一些资料,我手头有一点汇编编写VxD的资料,但是资料上说这只适合于win9x,我不明白适合win9x是否适合windows xp 呢,也就是说在windows xp 下是否可以用VxD编程呢。window NT和windows xp 分别是采用什么方式编写驱动的呢?还有有的资料上说VC+DDK编程,DDK是怎么回事呢,和VxD是两种完全不同的编写方式吗?请高手指教。

其实在WINDOWS XP下还是可以使用VXD驱动的,只是那是微软为了向下兼容以前的操作系统而已,在NT下的驱动最好的WDM驱动。WDM是微软推出的驱动模型,支持Windows 98、Windows 2000、Windows XP等,现在学驱动编程最好是学WDM编程,因为VXD过时了,编写驱动最不可少的东西就是DDK,即驱动开发包,是微软推出的,在此基础上你可以使用VC++来提供驱动开发的集成环境,还可以使用DriverStudio来实现驱动的面向对象编程,DDK是C语言的,这几个工具的安装顺序为:DDK -- VC++ -- DriverStudio。 参考技术A VxD(虚拟设备驱动程序)是windows9x下的驱动程序形式,
windows2000、xp、2003下的驱动程序形式是WDM(windows驱动程序模型),
XP不支持VxD驱动程序,
NT驱动程序和WDM类似,但是那时还没有PnP,WMI等功能,
DDK是微软驱动程序开发包,里面有大量定义,写驱动必须要用,
要想省点事,就像楼上所说再找个DriverStudio,
VC对于写驱动来说只是提供C语言编译器,理论上完全可以用其它编译型语言写驱动程序,
WDM驱动程序基本是C语言形式的,VxD驱动程序后期多用C语言编写,早期(win3.x时代)多用汇编语言编写,
DDK目前可以从微软网站下载,MSDN专业版以上的光盘中也带有DDK
参考技术B DDK是Device Development Kit,设备开发包的意思。一般指windows设备驱动程序开发包。如果你想开发一个设备驱动程序,如显卡驱动程序,就必须使用DDK。
得到DDK需要二级订阅MSDN光盘,但是微软公司也经常不定期开放DDK的网络下载。
参考技术C vb更好 参考技术D 现在都用VB.NET了,即简单又好用!~ 第5个回答  2007-07-31 我也想学啊

关于在 Windows 环境下开发 react native 的热重载问题

】关于在Windows环境下开发reactnative的热重载问题【英文标题】:HotReloadingissueaboutdevelopingreactnativeOnWindowsEnvioment【发布时间】:2016-11-0600:08:45【问题描述】:每个人。我最近在开发ReactNative。我已经成功创建了一个安卓应用示例作... 查看详情

在 Windows 和 Linux 下开发的 C++ 程序的区别

】在Windows和Linux下开发的C++程序的区别【英文标题】:ThedifferencebetweenaprograminC++developedunderWindowsandLinux【发布时间】:2010-02-2802:33:31【问题描述】:在Windows和Linux下用C++开发的程序有什么区别?为什么在Windows下用C++开发的程序不... 查看详情

vs下开发windows服务程序

一、 VS2012下开发Windows服务 1、 打开VS2012,新建项目,选择Windows服务,此处我以开发一个定时自动发送邮件的服务来做介绍,如下图: 2、 创建好后,编译器会自动创建一些文件,其中会有一个Service1类文件,... 查看详情

windows开发的java程序怎么运行在linux环境下

在Windows下开发的意义是在windows下运行埃。。想在linux下运行当然要linux下编译了可以做到同一份代码跨平台编译已然很强大了不是:):可以java编译后是字节码文件,是跟平台无关性的,他是有JVM解释执行的,.class文件在哪里... 查看详情

ADB 在 Windows 7 下无法识别 Nexus 4

...Android开发者网站上关于使用硬件设备的说明更新了所有驱动程序。但是,当我尝试运行应用程序时,Eclipse仍然无法识别我的Nexus4。弹出Android设备选择器,但在硬件部分没有显示任何内容。我也 查看详情

关于windows下qt以及qtcreator的安装

普及 之 windows下qt的安装及配置 qt介绍:Qt,分为商业、开源两个版本,商业版需要花钱购买license,而开源版本则遵守GPL协议,提供了源码,用户需要自行编译,才能生产动态库文件。   所以以下介绍开源... 查看详情

qt程序在windows下的发布

本文讨论在Windows平台下编译成功的Qt程序,如何在未配置Qt开发环境的Windows平台下独立运行的方法。经过验证发现,在Ubuntu平台下编译成功的程序可在未安装Qt开发环境下的Ubuntu16.04中运行,所以,本文仅讨论,在Windows平台下编... 查看详情

关于winsock编程的多线程控制

1引言WindowsSockets规范以U.C.Berkeley大学BSDUNIX中流行的Socket接口为范例定义了一套MicrosoftWindows下网络编程接口。它不仅包含了人们所熟悉的BerkeleySocket风格的库函数;也包含了一组针对Windows的扩展库函数,以使程序员能充分地利用W... 查看详情

[0007]windows下eclipse开发hdfs程序样例

目的:学习使用hdfs的java命令操作环境:hadoop2.6.4伪分布式win7+eclipse Version:LunaServiceRelease1(4.4.1)1.新建项目1.1新建java项目 Hadoop_伪分布式1.2导入hadoop2.6.4的jar包项目名字上右键->属性->Java构建路径->添加库->用户库,... 查看详情

windows10下利用visualstudiocode搭建c语言开发环境以及驱动的开发环境(代码片段)

Windows10下利用VisualStudioCode搭建C语言开发环境以及驱动的开发环境1.1前言VisualStudioCode搭建C语言的开发环境,网上有一大堆的教程,但是很多都要么过时了,要么就是不能运行,自己也踩了好几个坑。比较好的策略... 查看详情

windows7下搭建django开发环境(代码片段)

...工具/原料python3.6.4django2.0.5方法/步骤1、安装python参考《01Windows7系统下安装Python》python的安装。2、安装ipythonipython是一个python的交互式 查看详情

关于windows_8.1/windows7下普通用户运行软件提示需要输入管理员密码解决方法

关于Windows_8.1/Windows7下普通用户运行软件提示需要输入管理员密码解决方法1.问题起因    最近遇到一个比较棘手问题,顺丰速运修改了快递单填写方式,必须要安装他们公司开发的一个软件(软件名叫“速打线下... 查看详情

关于java程序在windows下运行的疑问!

我刚刚学习完J2SE有几点问题不明白,问下知道里的高手帮我解答一下我的疑问好吗?Java程序是垮平台的,在windows上也能顺利运行!目前我所知道的在windows上运行的方法是javac再java或者在IDE里执行!可是如果我要把我的程序给... 查看详情

在 Windows 上构建 asmack

...s7操作系统下使用Eclipse进行开发;我已经仔细阅读了一些关于Android上XMPP库的主题,例如:AsmackalternativeAndroidandXMPP: 查看详情

我们可以在 Windows 环境下使用 MonoTouch 开发 iOS 应用吗

】我们可以在Windows环境下使用MonoTouch开发iOS应用吗【英文标题】:CanwedevelopiOSapplicationsusingMonoTouchinaWindowsenvironment【发布时间】:2012-10-2602:06:42【问题描述】:我打算在MonoTouch上做一个iPhone应用程序。我使用的是Windows7和VS2010。... 查看详情

windows多线程开发之并发线程程序研究

...程方面有自己的心得和经验,愿意分享给同仁,今讨论下Windows下线程并发程序开发。下面用用两个线程实现一个简单的数组排序,演示了线程的基本用法。原理是:为了节省执行时间而添加并行,把问题划分为几个小问题,并... 查看详情

wpf实践系列1ofn自定义wpf程序的main函数

关于开篇由于业务需要参与到一个Window下的WPF项目中。因为之前的工作环境一直在Linux下,C和C++作为主力开发语言,因此加入新项目对自己来说是变化,同时也是挑战;学点新东西拓宽下视野。关于WPF实践系列项目是个中型的Win... 查看详情

关于ffmpeg和opencv在windows下运行要添加的环境变量

1.ffmpeg的DEV版本为开发版,里面包含了库文件和头文件。shared版本里面包含*.exe,在电脑环境变量中增加其bin所在路径。  F:\工作目录\人脸识别相关\ffmpeg_package\ffmpeg-3.4.2-win32-shared\ffmpeg-3.4.2-win32-shared\bin;  F:\工作目录\人脸识... 查看详情