现代微机原理与接口技术 Windows98/2000驱动程序编写方法 (上) 杨全胜 Department of Computer Science Engineering 算机科学与工程系 http://qsyang.yeah.net
http://qsyang.yeah.net 现代微机原理与接口技术 1 Windows98/2000驱动程序编写方法 (上) 杨全胜
现代微机原理与接口技术 1.驱动程序的开发环境 对于VxD的开发,需要的开发环境是: Ⅴ isual o++5.0/6.0 Window 95DDK 如果想加快开发步骤,建议使用第三方的 VToolsD开 发工具,它将DDK的东西全部封装成C++的类,可 以直接用 Visual c++编写程序,而无须使用汇编。而 且它提供的 Quickvxd能够方便快速地建立VxD程序 的框架。 Department of Computer Science Engineering 2 算机科学与工程系 http://qsyang.yeah.net
http://qsyang.yeah.net 现代微机原理与接口技术 2 1. 驱动程序的开发环境 对于VxD的开发,需要的开发环境是: • Visual C++ 5.0/6.0 • Windosw 95DDK 如果想加快开发步骤,建议使用第三方的VToolsD开 发工具,它将DDK的东西全部封装成C++的类,可 以直接用Visual C++编写程序,而无须使用汇编。而 且它提供的 QuickVxd能够方便快速地建立VxD程序 的框架
对于WDM的开发,又分几种情况: 现代微机原理与接口技术 1)对于 Windows98系统 Ⅴ isual o++5.0 Windows 98DDK 2)对于 Windows me/2000 · Visual o++6.0 WindOws 2000DDK 3对于 Windows Xp Ⅴ isual o++6.0/.net WindOws XPDDK 同样,为了方便起见,也可以使用第三方的开发 工具 Driver works,它也是将DDK的内容封装成类 ,而且提供一个快速方便地生成驱动框架的工具。 Department of Computer Science Engineering 算机科学与工程系 http://qsyang.yeah.net
http://qsyang.yeah.net 现代微机原理与接口技术 3 对于WDM的开发,又分几种情况: 1)对于Windows 98系统 • Visual C++ 5.0 • Windows 98DDK 2)对于Windows Me/2000 • Visual C++ 6.0 • Windows 2000DDK 3)对于Windows XP • Visual C++6.0/.net • Windows XPDDK 同样,为了方便起见,也可以使用第三方的开发 工具Driver Works,它也是将DDK的内容封装成类 ,而且提供一个快速方便地生成驱动框架的工具
2.驱动程序开发工具包 Driver Studi0机原米 21 DriverStud027所包含的工具 VToolsD VToD是一个用来开发针对win9X( Windows95和 Windows98)操作系统下设备驱动程序(VxD)的工具。 VToolsD中包括生成驱动程序源代码的工具,run-time和 interface库,以及一些驱动程序样本,可以用来作为各种 类型的设备驱动程序的基础部分。 Driver works Driver work对于 Windows nt下和 Windows98与 Windows2000同支持的win32驱动模型WDM设备驱 动程序的开发提供完全的支持。 Driver works中包含一个 非常完善的源代码生成工具 Driver wizard)以及相应的类 库和驱动程序样本,它提供了在C++下进行设备驱动程序 歼发的支持。 http://qsyang.yeah.net
http://qsyang.yeah.net 现代微机原理与接口技术 4 2. 驱动程序开发工具包DriverStudio 2.1 DriverStudio 2.7所包含的工具 • VToolsD VToolsD 是一个用来开发针对Win9X (Windows 95 和 Windows 98)操作系统下设备驱动程序(VxD)的工具。 VToolsD 中包括生成驱动程序源代码的工具,run-time 和 interface 库,以及一些驱动程序样本,可以用来作为各种 类型的设备驱动程序的基础部分。 • DriverWorks DriverWorks对于Windows NT下和 Windows 98 与 Windows 2000共同支持的Win32驱动模型(WDM)设备驱 动程序的开发提供完全的支持。DriverWorks中包含一个 非常完善的源代码生成工具(DriverWizard) 以及相应的类 库和驱动程序样本,它提供了在C++下进行设备驱动程序 开发的支持
现代微机原理与接口技术 DriverNetworks DriverNetworks是针对 Windows网络驱动开发人员 的一个模块。在它的核心部分, DriverNetworks是 个针对 nDIS drivers和 DI clients( DriverSockets)的 C++的类库。 Drivernetworks中也有 Quick miniport Wizard用来直接开始一个 NDIS Miniport或 Intermediate driver工程。它可以让你快速的生成所有 采用 Drivernetworks o++类库编写的NDs驱动程序的 编译,安装和调试所需要的文件。 SoftIcE SoftIce是一个功能极其强大的内核模式调试器,它 支持在配置一台单独的计算机或两台计算机下进行设 备驱动程序的调试。 Department of Computer Science Engineering 算机科学与工程系 http://qsyang.yeah.net
http://qsyang.yeah.net 现代微机原理与接口技术 5 • DriverNetworks DriverNetworks 是针对Windows网络驱动开发人员 的一个模块。在它的核心部分,DriverNetworks 是一 个针对NDIS drivers 和 TDI clients (DriverSockets)的 C++ 的类库。DriverNetworks 中也有Quick Miniport Wizard 用来直接开始一个NDIS Miniport 或 Intermediate Driver 工程。它可以让你快速的生成所有 采用DriverNetworks C++ 类库编写的NDIS驱动程序的 编译,安装和调试所需要的文件 。 • SoftICE SoftICE 是一个功能极其强大的内核模式调试器,它 支持在配置一台单独的计算机或两台计算机下进行设 备驱动程序的调试
现代微机原理与接口技术 ● Drivermonitor Drivermonitor不仅可以显示WDM和xD在操作系 统核心层次输出的调试语句,还可以装载和卸载ⅴxD 驱动和NT4系统的驱动程序。 EZDriverlnstaller EZDriverInstaller是一个无需经过设备管理器或“添 加新硬件”功能就能为 Windows2000/XP动态加载和 卸载WDM驱动程序的小实用程序。 SetDDKGo SetDDKgo用来设置设备驱动程序创建的环境。当 我们用 Visual studio(VC++)编译驱动程序源程序的 时候,需要用 SetDDKGo来设置环境变量,之后 SetDdKgos会自动启动Ⅴ isual studio(VC++)编译环 境。 Department of Computer Science Engineering 计算机科学与工程系 http://qsyang.yeah.net
http://qsyang.yeah.net 现代微机原理与接口技术 6 • DriverMonitor DriverMonitor不仅可以显示WDM和VxD在操作系 统核心层次输出的调试语句,还可以装载和卸载VxD 驱动和NT4系统的驱动程序。 • EZDriverInstaller EZDriverInstaller是一个无需经过设备管理器或“添 加新硬件”功能就能为Windows 2000/XP动态加载和 卸载WDM驱动程序的小实用程序。 • SetDDKGo SetDDKGo用来设置设备驱动程序创建的环境。当 我们用Visual Studio(VC++)编译驱动程序源程序的 时候,需要用SetDDKGo来设置环境变量,之后 SetDDKGo会自动启动Visual Studio(VC++)编译环 境
22 Driver Studio27的安装 现代微机原理与接口技术 安装需要的软硬件环境 PC- compatible Intel x86系统 Windows200,( Optiona:其中一些工具也支持 Windows98和 Windows95 内存:最少32MB,推荐使用64MB 硬盘:完全安装需要72MB 针对 SoftIce的远程调试:NE200兼容网卡或3Com 网卡 针对 Driver works: Microsoft ddK, MS Visual o++ Department of Computer Science Engineering 7 算机科学与工程系 http://qsyang.yeah.net
http://qsyang.yeah.net 现代微机原理与接口技术 7 2.2 DriverStudio 2.7的安装 安装需要的软硬件环境 • PC-compatible Intel x86 系统 • Windows 2000, (Optional: 其中一些工具也支持 Windows 98 和 Windows 95.) •内存: 最少32 MB, 推荐使用64 MB •硬盘:完全安装需要 72 MB •针对 SoftICE的远程调试: NE2000-兼容网卡或 3Com 网卡 •针对 DriverWorks: Microsoft DDK,MS Visual C++
现代微机原理与接口技术 安装步骤: 在安装 Driver works之前,首先要保证你的计算机 上已经安装了 MicrosofⅤ isual o++以及相应针对 WindOws nt或WDM的DDK的正确版本。所有这些 包括 Driver studio的安装都必须以系统管理员身份启动 系统。并且要按照下面的顺序安装 第一步: 安装 Microsoft visual studio o++6.0(注意 Windows 2000DDK暂时对Ⅴ isual studio,NET不支持) Department of Computer Science Engineering 算机科学与工程系 http://qsyang.yeah.net
http://qsyang.yeah.net 现代微机原理与接口技术 8 安装步骤: 在安装DriverWorks之前,首先要保证你的计算机 上已经安装了Microsoft Visual C++以及相应针对 Windows NT 或WDM的DDK的正确版本。所有这些 包括DriverStudio的安装都必须以系统管理员身份启动 系统。并且要按照下面的顺序安装。 第一步: 安装Microsoft Visual Studio C++ 6.0 (注意Windows 2000DDK暂时对Visual Studio.NET不支持)
现代微机原理与接口技术 第二步: 安装2000DDK( Driver development Kits 注意: 1)如果本地机的操作系统为 Windows2000请确认已经 安装了 Windows sevicePack或 Windows sevice Pack2 在安装DDK的时候请选择完全安装 2)安装中,不需要安装64 BIT A64 Binaries 3)安装好后,对于2000DDK不需要手动配置环境变量 只需在开始菜单中点击 Checked build envirment则 DDK会自动调用 steny配置环境变量,并监测相应的 SDK以及 Visual studio de Department of Computer Science Engineering 算机科学与工程系 http://qsyang.yeah.net
http://qsyang.yeah.net 现代微机原理与接口技术 9 第二步: 安装2000DDK(Driver Development Kits)。 注意: 1)如果本地机的操作系统为Windows2000 请确认已经 安装了Windows SevicePack1或Windows SevicePack2 在安装DDK的时候请选择完全安装。 2)安装中,不需要安装64BIT IA64Binaries 3)安装好后,对于2000DDK不需要手动配置环境变量 ,只需在开始菜单中点击Checked Build Envirment 则 DDK会自动调用setenv配置环境变量,并监测相应的 SDK以及Visual Studio IDE
第三步 现代微机原理与接口技术 安装 DriverStudio27(按照民性 x 安装提示安装)。 常规网络标识|硬件|用户配置文件|高级 注意, Driver Studio27,包 系统 Microsoft Windows 2000 括最新的 Driver Stud030不能 5.00.2195 Service Pack 4 在 Windows2000的sP4和 注册到 WindowsXP上使用,会引起 蓝屏。遇到这种情况,请在安 计算机 装好后不要重新启动机器,而 Intel (R) (R)4 CPU 1. 80GHz 是立即打上补丁。打补丁的方 AT/AT COMPATIBLE 260.912IRAM 法是用新的 Isiwvid sys(补丁的 内容)替换掉 tsystem%\system32\drivers\ 下的老的 siwvidsys L确定_取消应用④ Department of Computer Science Engineering 10 算机科学与工程系 http://qsyang.yeah.net
http://qsyang.yeah.net 现代微机原理与接口技术 10 第三步: 安装DriverStudio 2.7(按照 安装提示安装)。 注意, DriverStudio 2.7,包 括最新的DriverStudio 3.0不能 在Windows 2000的SP4和 WindowsXP上使用,会引起 蓝屏。遇到这种情况,请在安 装好后不要重新启动机器,而 是立即打上补丁。打补丁的方 法是用新的siwvid.sys(补丁的 内容)替换掉 \%system%\system32\drivers\ 下的老的siwvid.sys