zoukankan      html  css  js  c++  java
  • 在xp下如何开发驱动程序?和2000下相比有什么区别?


    在xp下如何开发驱动程序?和2000下相比有什么区别?
    好像xp下开发驱动是要用xp ddk,能不能在xp下直接用2000 DDK ?
    我试了试在xp下不能安装2000 DDK,如果这样用xp ddk开发的驱动和用2000 DDK开发的驱动兼容性如何?

    在xp下开发驱动程序和2000下相同。
    xp下开发驱动是要用xp ddk,不能用2000 DDK 。
    2000、xp的驱动不兼容。

    用XP DDK 重新编译WIN2K下的Driver 就可以生成XP的driver,编写过程一样
    我把2000的源代码放到XP下,用XP DDK编译正确通过了,但是驱动却不能驱动设备,老是说设备无法启动。请问是什么原因?
    我试过了用WIN2003DDK进行编译,都在xpsp2下找不到。
    我在XP下可以安装上2K的DDK,并用2K的DDK编译虚拟打印机驱动,安装上了,现在运行看来还没有出现什么问题。
    感觉上,XP和2K都是基于NT技术的。应该可以在XP是使用2K的DDK;

    http://bbs.zndev.com/read.php?tid=89586

    驱动开发工具NuMega DriverStudio
    副标题:
    作者:佚名 文章来源:本站原创 点击数: 2324 更新时间:2004-2-15

    康博软件 NuMega DriverStudio

    提高设备驱动程序的开发速度
    视窗系统设备驱动程序的综合开发工具
    NuMega DriverStudio - 设备驱动程序开发工具中的极品
        设备驱动程序常常被认为是开发精英们涉足的领域,如今已成为技术创新中的一个严重的瓶颈。由于它难于编写,运行失败时又会产生灾难性的后果,所以微软公司将设备驱动程序视为造成视窗系统稳定性问题的首要原因。
    随着DriverStudio的面市,康博软件公司正在继续谱写它的设备驱动程序和应用程序开发工具获奖的悠久历史。这套革新的软件包括久经考验的工具SoftICE、DriverWorks、VtoolsD和DriverAgent,以及基于应用层技术(这种技术曾用于BoundsChecker、TrueTime、TrueCoverage和FailSafe)的新的设备驱动程序工具。目前又最新推出了针对网络驱动程序开发的工具DriverNetworks。
    这就构成了一整套工具软件,它们加快了设备驱动程序的开发、调试、测试、调谐以及部署。DriverStudio把高质量的工具和现代的软件工程实践带给了一度被忽视的设备驱动程序编程领域。

    Windows 2000向设备驱动程序开发人员提出了许多新的挑战

    由于采用了即插即用、电源管理和新的WDM(32位视窗系统驱动程序模型)驱动程序体系结构等技术,开发和测试哪怕最简单的设备驱动程序也变得比任何时候都复杂。DriverStudio采用新的WDM类、即插即用消息的缺省处理,以及可以揭示Windows 2000内核真实运行状况的全面追踪功能。这就使Windows 2000驱动程序的开发工作,从设计到部署,都得到了简化。

    DriverStudio的特色

    DriverStudio提供的视窗系统设备驱动程序开发工具可以提高开发速度,改善测试方法,增强可靠性。不管你的专业技术水平如何,不管你处于哪个开发阶段,也不管你现在选用的是什么工具,DriverStudio都会使你在开发设备驱动程序时感到更轻松。

    启动

    如果你要为Windows NT、Windows 2000开发一个设备驱动程序,或者为Windows 98开发一个32位视窗系统驱动程序模型(WDM)驱动程序,DriverWorks提供独特的DriverWizard可以自动生成代码。精心制作的类库减少了对简单接口的复杂操作,而且在模仿基本操作系统的面向对象特性时,甚至比微软的DDK(设备驱动程序工具箱)所提供的程序性基于C语言的接口做得更好。
    对于VxD(Windows 9x上的虚设备驱动程序)开发人员来说,获奖的VtoolsD含有代码生成器QuickVxD,并且完全支持用C或C++开发驱动程序。
    对许多开发人员来说,DriverAgent是建立硬件接口的理想之门。DriverAgent的用户不必写设备驱动程序,只需用C、C++、Visual Basic、Java或Delphi写一个简单的Win32应用程序就能够访问硬件。所生成的应用程序可以在Windows 98、Windows NT和Windows 2000系统上透明地工作。
    NuMega设备访问体系结构(DAA)可以保证为Windows 9x、Windows NT和Windows 2000所写的设备驱动程序的资源兼容性。

    了解系统

    要正确地写出一个设备驱动程序,就要详细地了解视窗操作系统的运行情况。BoundsChecker驱动程序版的系统明细法可以使开发人员窥视到视窗系统内核的工作情况。

    错误检测和调试

    SoftICE是用于视窗系统下内核编程的唯一的单机调试软件。这个产品赋予开发人员对内核方式下的驱动程序和操作系统本身的空前的控制能力,也空前提高了这些软件的能见度。
    BoundsChecker驱动程序版对所选的设备驱动程序进行监视,还能(可选的)对驱动程序发出系统调用时产生的错误作出通报。为了帮助解决系统崩溃问题(即声名狼藉的死机蓝屏现象),DriverWorkbench与BoundsChecker驱动程序版一起对保存在崩溃转储文件中的系统活动进行详细的追踪,并能很快发现过去几乎不可能检测到的错误。

    性能调谐

    TrueTime驱动程序版*使用原为应用程序而开发的性能监视引擎来查明性能上的瓶颈,帮助开发人员集中力量解决关键问题,以便获得性能更好的产品。

    驱动程序的测试

    由于存在缺陷的设备驱动程序可能导致灾难性的系统崩溃,对其进行彻底的测试就是非常必要的了。开发人员用TureCoverage驱动程序版*进行代码覆盖分析,确保在软件发布之前能对设备驱动程序中的所有代码路径进行测试。

    部署和远程错误处理

    有时,只在特定的系统配置下才会发生问题。DriverStudio提供的FieldAgent技术使开发人员能配置BoundsChecker驱动程序版去监视客户系统,以此帮助他们在现场识别和调试问题。产生的错误可以用新的SoftICE远程调试能力来调试,或者用DriverWorkbench崩溃分析引擎来分析。
     
    NuMega DriverWorks
    DriverWorks工具为开发Windows NT、Windows 2000和Windows 98 WDM设备驱动程序提供了一个自动化的方法。这个产品包括改进的DriverWizard,可以引导你完成设备驱动程序开发的全过程,并能根据你的硬件种类自动生成设备驱动程序源代码。
    类库把常用的操作封装起来,大大减少了你的编码工作
    DriverWorks包含完整的源代码,其中有几万行例子和库的源代码
    NuMega驱动程序访问体系结构可以保证在所有视窗系统上的源代码兼容性
     
    NuMega VtoolsD
    VtoolsD包含你用C或C++为Windows 98、Windows 95和Windows 3.1编写VxD时所需要的全部文件、向导、库和例子代码。QuickVxD向导可以很快创建出你的驱动程序的框架,节省了你的时间和工作量。
    不需要微软的DDK
    VtoolsD的库均经精心制作,可保证性能的优化
    NuMega驱动程序访问体系结构可以保证在所有视窗系统上的源代码兼容性
     
    NuMega DriverAgent
    DriverAgent可使Win32应用程序直接访问和控制硬件。DriverAgent可以创建用于测试硬件的快速原型;创建能减少相关设备驱动程序复杂程度的独立诊断包;创建终端用户应用程序,这些程序可以将易于编程的特点和接近本机设备驱动程序的性能结合在一起,但却只需要很少的工作量。
    从Win32应用程序中可以快速方便地访问硬件
    接口与语言无关 - DriverAgent支持C、C++、Java、Delphi和Visual Basic
    配置工具为开发人员和终端用户简化了即插即用的设置过程

    功能强大的向导可以使驱动程序的开发很快切入正题
    易于发现和修复系统级的错误
     
    NuMega SoftICE 4.0
    SoftICE的强大功能突破了传统微软SDK/DDK工具的限制,可以减少故障停机时间。SoftICE有独特的系统范围的视图和控制,能很容易地推测和诊断形形色色的视窗系统软件问题。
    通过因特网进行远程调试
    提供单机的、源程序级的调试能力
    支持Windows NT、Windows 95、 Windows 98和Windows 2000,给那些正在为任何视窗平台编制设备驱动程序和系统部件的公司提供强大可靠的调试手段
    支持对称多处理器(SMP) - (SoftICE Windows NT)SoftICE现在可以对最多具有8个CPU并且使用标准的Intel多处理器方案(APIC)的Pentium、Pentium Pro和Pentium III多处理器系统进行调试
    支持微软的内核调试扩展
    SoftICE是一种功能强大的调试软件。为了让你最大限度的认识到你的程序的运行情况,SoftICE能一直调试到视窗系统的内核。 
     
    InfoWorld
    NuMega SoftICE为单台视窗系统PC上的源代码级内核方式的调试提供高级的、系统范围的调试手段。
     
    NuMega BoundsChecker驱动程序版
    NuMega BoundsChecker驱动程序版对所有进入操作系统内核的调用进行监视。除了检测参数错误以外,NuMega BoundsChecker还保存所选的设备驱动程序的运行记录。SoftICE和DriverWorkbench可以用这个记录进行显示和分析。
    自动检测许多编程错误
    追踪记录可显示出操作系统的运行情况,有助于你了解操作系统和设备驱动程序之间的接口
    不论你是要广泛收集所有的系统事件,还是只收集你的驱动程序中的特定的一组API,易于配置的特点可使你只收集所需要的信息。
     
    NuMega DriverWorkbench
    NuMega DriverWorkbench很容易访问各种重要的设备驱动程序的开发、测试和调试能力。其中包括崩溃分析和调试,FieldAgent配置和BoundsChecker事件的图形显示。
    用系统崩溃分析器很容易确定系统崩溃的原因
    检查从崩溃文件中得到的BoundsChecker事件记录,可以了解在崩溃之前发生了什么
    监视进出任何驱动程序的调用可以知道操作系统是如何运行的
    用功能强大的调试接口查看有关驱动程序、模块和进程的系统信息
    与微软的内核调试扩展完全兼容
     
    NuMega FieldAgent
        驱动程序在你的开发环境中可以毫无瑕疵地运行,但在客户现场就可能表现不佳了。这种情况并不鲜见。FieldAgent向你提供解决远程问题所必须的工具。
    分配一个配置好的FieldAgent引擎以便从客户现场收集事件;
    迅速而又轻松地配置客户的安装过程;
    为详细分析保存和恢复事件数据;
     
    NuMega TrueCoverage驱动程序版
         一段未经测试的代码容易引起整个系统的崩溃,所以设备驱动程序的问题尤具破坏性。一定要用TrueCoverage驱动程序版彻底测试你的驱动程序。
    无须改变源代码即可收集覆盖信息
    将多个测试运行合并,对得到的覆盖数据作出总计
    轻松地生成所提交的驱动程序
    要保证在发行前的测试中把一个复杂软件的所有代码都切实地通过运行,这是一件单调乏味的工作,但TrueCoverage工具把这件工作自动化了。这种测试看起来是件基本的事情,但是非编程人员很少能够想象出,要把如今这种事件驱动的应用程序的每一个路径都测试到,是一件多么复杂的事情。
    CodeReview 支持的语言和主机平台:
    Visual Basic
    Windows NT, Windows95/98/2000
     
    NuMega TrueTime驱动程序版
       如果性能很重要的话,你就需要TrueTime驱动程序版。驱动程序版是依据应用程序的性能分析工具NuMega TrueTime编制出来的,它可以提供详细的同步信息,帮助你迅速而又轻松地找出性能瓶颈。
    能查明位于任何地方的慢速代码和性能瓶颈;
    能够得到最有用的内核方式性能数据;
    为驱动程序、源文件、库、过程和个别代码行分析综合的同步信息、统计数字和数据;
     
    DriverWorkbench显示出导致故障的一系列事件
        即时获得详细精确的性能和覆盖数据。
     
    NuMega DriverNetworks
        DriverNetworks是一个面向对象的框架结构,主要用来定义和生成32位Windows 操作系统的NDIS 和TDI 网络驱动程序。其完整的开发向导使得网络驱动开发人员能够轻松的访问和定制框架结构从而快速的创建一个网络驱动程序的基本框架。
    DriverNetworks能够加速网络驱动程序的定义和生成,它提供的全面的代码框架用来快速的定义一个设备和集合一个NDIS 4,5和TDI的网络驱动程序的框架。它提供了大量的网络驱动程序的标准代码。因此你只需编写一些额外的代码来访问网络硬件指定的特性或定义一些非标准的行为。
     

  • 相关阅读:
    初学者--bootstrap(六)组件中的字体图标----在路上(9)
    clearfix的最佳方案----在路上(22)
    css的五种属性值----在路上(21)
    float---浮动带来的影响与清除浮动带来的影响方法----在路上(20)
    form表单 ----在路上(15)
    css中常见的属性-----在路上(14)
    Linux | 管道、重定向命令
    C++ | from_string函数的写法
    C++/C | 关于char* char[] char = new char[n]
    C++内存管理 | 01 C++ memory primitives
  • 原文地址:https://www.cnblogs.com/runfeng/p/261020.html
Copyright © 2011-2022 走看看