使用本文档 Microsoft windows2000的驱动程序开发包(DDK)文档总览给您详尽的信息,这 些信息对编写 Windows2000平台任何类型的驱动程序都是必须的。本文档也描述了 Windows Driver model(WDM)驱动程序,这些驱动程序在 Windows2000和 Microsoft(R Windows98 平台之间是源码级兼容的 文档路标 下页的图表提供了本文档的一个路标。它说明了你需要读DDK的哪一部分,和基于你 将要编写的驱动程序类型,以怎样的顺序,发现最为有用的信息 下面是对DDK每一部分的简单描述,在该路标的在线版本上,你可通过点击各本书的 图标或者标题得到进一步的信息。 版本说明 个独立的文件,即 install htn,包括了从附送的 CD-ROM中安装在线DDK的系统需 求。它也包含了一些别处没有的、重要的、最新的信息。该文件放在安装DDK的根目录下 也在 CD-ROM安装盘的DDK根目录下。 新版本 在本版本新内容部分里包括关于 Microsoftr windows82000里的新技术和驱动程序级 接口的信息 驱动程序编写者指南 驱动程序编写者指南告诉你怎样构建、测试和调试 Windows2000驱动程序。它包括下 列信息 驱动程序开发环境, DDK提供的 BUILD应用程序, 驱动程序测试( Driver verifier)应用程序 可用来调试驱动程序的工具和例程 图表 设置、即插即用和电源管理 设置、即插即用及电源管理设计指南和参考手册覆盖了 Windows2000的两个主要特性: 即插即用和电源管理。通过设计,WDM驱动程序支持即插即用和电源管理。如果可能的话 任何专为 Windows200编写的其他驱动程序均应该支持即插即用和电源管理。这些部分也 包括了设备设置 该文档的这一部分提供设置、即插即用和电源管理的总体描述。对驱动程序说明信息, 驱动程序编写者也应该查阅本文档中特定种类的驱动程序 设置、即插即用和电源管理设计指南的第1部分包括关于即插即用和电源管理的介绍 它也描述了驱动程序必须提供的技术支持类型 设置、即插即用和电源管理设计指南的第2部分包括一个即插即用的总览和驱动程序
1 使用本文档 Microsoft® Windows® 2000 的驱动程序开发包(DDK)文档总览给您详尽的信息,这 些信息对编写Windows2000平台任何类型的驱动程序都是必须的。本文档也描述了 Windows Driver Model(WDM)驱动程序,这些驱动程序在 Windows2000 和 Microsoft® Windows® 98 平台之间是源码级兼容的。 文档路标 下页的图表提供了本文档的一个路标。它说明了你需要读 DDK 的哪一部分,和基于你 将要编写的驱动程序类型,以怎样的顺序,发现最为有用的信息。 下面是对 DDK 每一部分的简单描述,在该路标的在线版本上,你可通过点击各本书的 图标或者标题得到进一步的信息。 版本说明 一个独立的文件,即 install.htm,包括了从附送的 CD-ROM 中安装在线 DDK 的系统需 求。它也包含了一些别处没有的、重要的、最新的信息。该文件放在安装 DDK 的根目录下, 也在 CD-ROM 安装盘的 DDK 根目录下。 新版本 在本版本新内容部分里包括关于 Microsoft® Windows® 2000 里的新技术和驱动程序级 接口的信息。 驱动程序编写者指南 驱动程序编写者指南告诉你怎样构建、测试和调试 Windows 2000 驱动程序。它包括下 列信息: ◼ 驱动程序开发环境, ◼ DDK 提供的 BUILD 应用程序, ◼ 驱动程序测试(Driver Verifier)应用程序, ◼ 可用来调试驱动程序的工具和例程。 图表 设置、即插即用和电源管理 设置、即插即用及电源管理设计指南和参考手册覆盖了 Windows2000 的两个主要特性: 即插即用和电源管理。通过设计,WDM 驱动程序支持即插即用和电源管理。如果可能的话, 任何专为 Windows 2000 编写的其他驱动程序均应该支持即插即用和电源管理。这些部分也 包括了设备设置。 该文档的这一部分提供设置、即插即用和电源管理的总体描述。对驱动程序说明信息, 驱动程序编写者也应该查阅本文档中特定种类的驱动程序。 设置、即插即用和电源管理设计指南的第 1 部分包括关于即插即用和电源管理的介绍。 它也描述了驱动程序必须提供的技术支持类型。 设置、即插即用和电源管理设计指南的第 2 部分包括一个即插即用的总览和驱动程序
必须做什么来支持即插即用。 设置、即插即用和电源管理设计指南的第3部分包括关于编写支持电源管理的驱动程 序的信息。这些章节提供了一个从驱动程序编写者角度所看到的电源管理总览,并描述了驱 动程序必须提供的支持。 设置、即插即用和电源管理设计指南的第4部分包括设备设置的信息。 设置、即插即用和电源管理参考手册的第1部分包括结构、Iox例程和IRP的参考信 息,这些参考信息包含在即插即用支持里 设置、即插即用和电源管理参考手册的第2部分包括结构、Pax例程和IRP的参考信 息,这些参考信息包含在电源管理支持里 设置、即插即用和电源管理参考手册的第3部分包括设备设置的参考信息,包括INF 文件格式的参考页,设置例程,设备安装功能及结构,以及文本模式设置文件格式 内核模式驱动程序 内核模式驱动程序设计指南和参考覆盖了需求和系统定义的某些类型的外设驱动程序 接口,包括大部分WDM驱动程序。网络驱动程序和图形驱动程序包括在DDK不同的部分 里。文件系统驱动程序和过滤器包括在可安装的文件系统(IFS)包里 内核模式驱动程序设计指南的第1部分给 Windows2000内核模式驱动程序编写者提供 了有用的信息。它覆盖了各种驱动程序,勾划出了系统的IAO体系结构,并描述了每个驱动 程序必须支持的例程 内核模式驱动程序设计指南的第2至第9部分没有在本卷中印出。你将在附送的 CD-ROM上发现这些信息,包括串行和并行设备、存储、输出、视窗管理手段( Windows Management Instrumentation)(WM)和系统管理总线( System Management Bus)(SMB) 等等。 内核模式驱动程序参考手册已经被更新以便包括支持例程的参考内容, Windows2000 和wDM驱动程序能够调用这些例程。WDM驱动程序编写者能够决定一个特别的支持例程 是否能够通过在每个支持例程参考里检查新的“ Include”部分而被调用,从而来看是否那个 支持例程在wdm.h里输出,即在wDM驱动程序的主DDK头文件里输出。 内核模式驱动程序参考手册的第2部分包括对IRP的描述。不同于PnP和电源,这些 例程对内核模式设备来说是总体上的描述;但对使用串行和并行端口的设备而言,则是详尽 的描述。对PnP和电源IRP,参见设置、即插即用和电源管理参考手册:对设备类型的IRP 细节,参看这些设备类型的单个文档。 内核模式驱动程序参考手册的第3部分包括SCSI端口和sCSI微端口例程、新的改变 微类例程和相关结构的更新过的参考手册 内核模式驱动程序参考手册的第4部分包括HD驱动程序和HD客户使用的系统例程 和结构的参考手册。这部分也描述了LO请求和回调例程,这些O请求和回调例程受键盘 和鼠标设备( kbdclass, mouclass ia8042p)主要的非HD系统驱动程序支持 内核模式驱动程序参考手册的第5部分覆盖了USB驱动程序 内核模式驱动程序参考手册的第6部分包括了由IEEE1394驱动程序所使用的系统定义 的例程和结构的参考手册 内核模式驱动程序参考手册的第7部分包括了关于 PCMCIA驱动程序的信息。 内核模式驱动程序参考手册的第8部分包括了关于SMB客户驱动程序的信息。 内核模式驱动程序参考手册的第9部分描述了WM内核模式数据提供者 内核流驱动程序
2 必须做什么来支持即插即用。 设置、即插即用和电源管理设计指南的第 3 部分包括关于编写支持电源管理的驱动程 序的信息。这些章节提供了一个从驱动程序编写者角度所看到的电源管理总览,并描述了驱 动程序必须提供的支持。 设置、即插即用和电源管理设计指南的第 4 部分包括设备设置的信息。 设置、即插即用和电源管理参考手册的第 1 部分包括结构、IoXxx 例程和 IRP 的参考信 息,这些参考信息包含在即插即用支持里。 设置、即插即用和电源管理参考手册的第 2 部分包括结构、PoXxx 例程和 IRP 的参考信 息,这些参考信息包含在电源管理支持里。 设置、即插即用和电源管理参考手册的第 3 部分包括设备设置的参考信息,包括 INF 文件格式的参考页,设置例程,设备安装功能及结构,以及文本模式设置文件格式。 内核模式驱动程序 内核模式驱动程序设计指南和参考覆盖了需求和系统定义的某些类型的外设驱动程序 接口,包括大部分 WDM 驱动程序。网络驱动程序和图形驱动程序包括在 DDK 不同的部分 里。文件系统驱动程序和过滤器包括在可安装的文件系统(IFS)包里。 内核模式驱动程序设计指南的第 1 部分给 Windows2000 内核模式驱动程序编写者提供 了有用的信息。它覆盖了各种驱动程序,勾划出了系统的 I/O 体系结构,并描述了每个驱动 程序必须支持的例程。 内核模式驱动程序设计指南的第 2 至第 9 部分没有在本卷中印出。你将在附送的 CD-ROM 上发现这些信息,包括串行和并行设备、存储、输出、视窗管理手段(Windows Management Instrumentation)(WMI)和系统管理总线(System Management Bus)(SMB), 等等。 内核模式驱动程序参考手册已经被更新以便包括支持例程的参考内容,Windows2000 和 WDM 驱动程序能够调用这些例程。WDM 驱动程序编写者能够决定一个特别的支持例程 是否能够通过在每个支持例程参考里检查新的“Include”部分而被调用,从而来看是否那个 支持例程在 wdm.h 里输出,即在 WDM 驱动程序的主 DDK 头文件里输出。 内核模式驱动程序参考手册的第 2 部分包括对 IRP 的描述。不同于 PnP 和电源,这些 例程对内核模式设备来说是总体上的描述;但对使用串行和并行端口的设备而言,则是详尽 的描述。对 PnP 和电源 IRP,参见设置、即插即用和电源管理参考手册;对设备类型的 IRP 细节,参看这些设备类型的单个文档。 内核模式驱动程序参考手册的第 3 部分包括 SCSI 端口和 SCSI 微端口例程、新的改变 微类例程和相关结构的更新过的参考手册。 内核模式驱动程序参考手册的第 4 部分包括 HID 驱动程序和 HID 客户使用的系统例程 和结构的参考手册。这部分也描述了 I/O 请求和回调例程,这些 I/O 请求和回调例程受键盘 和鼠标设备(kbdclass,mouclass,i8042prt)主要的非 HID 系统驱动程序支持。 内核模式驱动程序参考手册的第 5 部分覆盖了 USB 驱动程序。 内核模式驱动程序参考手册的第 6 部分包括了由 IEEE1394 驱动程序所使用的系统定义 的例程和结构的参考手册。 内核模式驱动程序参考手册的第 7 部分包括了关于 PCMCIA 驱动程序的信息。 内核模式驱动程序参考手册的第 8 部分包括了关于 SMB 客户驱动程序的信息。 内核模式驱动程序参考手册的第 9 部分描述了 WMI 内核模式数据提供者。 内核流驱动程序
内核流驱动程序设计指南和参考手册覆盖了多媒体设备驱动程序的实现,如声卡、DVD 播放器、数码相机和电视调谐卡。内核流体系结构是WDM最基本的部分,为 Windows98 和 Windows2000所支持。 内核流驱动程序设计指南和参考手册的总体部分包括一个内核流总览。所有的内核流驱 动程序都依赖本部分里的概念。 内核流驱动程序设计指南和参考手册中的声频驱动程序部分描述了怎样为所有的声频 设备,包括声卡或者外部声音设备,来编写驱动程序。本部分包括 Microsoft Direct music 驱动程序文档。 内核流驱动程序设计指南和参考手册的视频捕获驱动程序部分描述了怎样为流式视频 ( streaming video)设备,如数码相机和电视调谐卡,来编写驱动程序。 图形驱动程序 图形驱动程序设计指南和参考手册为下面的图形驱动程序描述了系统定义的接口和实 现需求: 显示和视频微端口驱动程序 打印机驱动程序 在每节的第1部分里包括与显示和打印机驱动程序有关的信息。由于 Windows2000的 推出,为了反映设备驱动程序接口(DDI)和系统提供的图形驱动程序接口(GDI)额外的 和变化的信息,所有的章节已经被更新。 在每节的第2部分包括显示和视频微端口驱动程序的详细信息,包括GD、DDl、 Microsoft direct draw、 Microsoft direct3D和微端口驱动程序信息等章节里 在每本书的第3部分包括打印机的详细信息。这些章节描述了打印机驱动程序和 Windows2000假脱机打印系统的体系结构。第3部分解释了怎样为新的打印机提供支持和怎 样替换假脱机打印的定制组件。 第4部分,覆盖了微软的静止图像体系结构,它不包括在本卷里,但是包括在附送的 CD-ROM的DDK文档里 网络驱动程序 网络驱动程序设计指南和参考手册描述了以下类型的网络驱动程序的系统定义的接 和实现需求 微端口NIC驱动程序 中间网络驱动程序,它被置于微端口NC驱动程序和协议驱动程序之间 网络传输堆栈里的协议驱动程序 系统定义的网络驱动程序接口包括网络驱动程序接口规范(NDS)和传输驱动程序接 口(TDI) 网络驱动程序设计指南的第1部分覆盖了所有 Windows2000网络驱动程序的常见主题 这些章节讨论了 Windows2000的网络驱动程序的体系结构,网络驱动程序的编程考虑,以 及网络驱动程序的设置 络驱动程序设计指南的第2部分覆盖了微端口NC驱动程序,包括wAN微端口。 网络驱动程序设计指南的第3部分覆盖了中间层网络驱动程序、协议驱动程序和 Windows Sockets的传输辅助程序DLL。TDl设计信息没有包括在本卷里,但是包括在完全 的在线DDK文档里。 网络驱动程序设计指南的第4部分描述了面向连接的媒体的NDS支持,如异步传输模 式(ATM)和ISDN
3 内核流驱动程序设计指南和参考手册覆盖了多媒体设备驱动程序的实现,如声卡、DVD 播放器、数码相机和电视调谐卡。内核流体系结构是 WDM 最基本的部分,为 Windows98 和 Windows2000 所支持。 内核流驱动程序设计指南和参考手册的总体部分包括一个内核流总览。所有的内核流驱 动程序都依赖本部分里的概念。 内核流驱动程序设计指南和参考手册中的声频驱动程序部分描述了怎样为所有的声频 设备,包括声卡或者外部声音设备,来编写驱动程序。本部分包括 Microsoft DirectMusic® 驱动程序文档。 内核流驱动程序设计指南和参考手册的视频捕获驱动程序部分描述了怎样为流式视频 (streaming video)设备,如数码相机和电视调谐卡,来编写驱动程序。 图形驱动程序 图形驱动程序设计指南和参考手册为下面的图形驱动程序描述了系统定义的接口和实 现需求: ◼ 显示和视频微端口驱动程序 ◼ 打印机驱动程序 在每节的第 1 部分里包括与显示和打印机驱动程序有关的信息。由于 Windows2000 的 推出,为了反映设备驱动程序接口(DDI)和系统提供的图形驱动程序接口(GDI)额外的 和变化的信息,所有的章节已经被更新。 在每节的第 2 部分包括显示和视频微端口驱动程序的详细信息,包括 GDI、DDI、 Microsoft DirectDraw、Microsoft Direct3D 和微端口驱动程序信息等章节里。 在每本书的第 3 部分包括打印机的详细信息。这些章节描述了打印机驱动程序和 Windows2000 假脱机打印系统的体系结构。第 3 部分解释了怎样为新的打印机提供支持和怎 样替换假脱机打印的定制组件。 第 4 部分,覆盖了微软的静止图像体系结构,它不包括在本卷里,但是包括在附送的 CD-ROM 的 DDK 文档里。 网络驱动程序 网络驱动程序设计指南和参考手册描述了以下类型的网络驱动程序的系统定义的接口 和实现需求: ◼ 微端口 NIC 驱动程序 ◼ 中间网络驱动程序,它被置于微端口 NIC 驱动程序和协议驱动程序之间 ◼ 网络传输堆栈里的协议驱动程序 系统定义的网络驱动程序接口包括网络驱动程序接口规范(NDIS)和传输驱动程序接 口(TDI)。 网络驱动程序设计指南的第1部分覆盖了所有 Windows2000网络驱动程序的常见主题。 这些章节讨论了 Windows2000 的网络驱动程序的体系结构,网络驱动程序的编程考虑,以 及网络驱动程序的设置。 网络驱动程序设计指南的第 2 部分覆盖了微端口 NIC 驱动程序,包括 WAN 微端口。 网络驱动程序设计指南的第 3 部分覆盖了中间层网络驱动程序、协议驱动程序和 Windows Sockets 的传输辅助程序 DLL。TDI 设计信息没有包括在本卷里,但是包括在完全 的在线 DDK 文档里。 网络驱动程序设计指南的第 4 部分描述了面向连接的媒体的 NDIS 支持,如异步传输模 式(ATM)和 ISDN
网络驱动程序设计参考手册的第1部分描述了NDS提供的功能和宏,NDS驱动程序 使用这些功能和宏与系统和每个其他的部分进行通信。第1部分也描述了NDS定义的和系 统定义的结构,NDS驱动程序使用这些结构。 下列 DDK CD-ROM文档没有刊印: ■驱动程序编写者指南40 调试驱动程序 ■设置、即插即用和电源管理第3部分,50 编写电池微类驱动程序 ■内核模式驱动程序设计指南第2-9部分 串行和并行驱动程序 存储驱动程序 输入设备驱动程序 USB驱动程序 IEEE1394驱动程序 PCMCIA驱动程序 SMB客户驱动程序 支持WM ■图形驱动程序设计指南第4部分 静止图像驱动程序 网络驱动程序设计指南第3部分,40-60 IDl,例程,宏和回调 TDI操作 Windows Sockets的传输辅助程序DLL ■虚拟设备驱动程序 增补的文档 注意:在这些DDK参考书里,图形驱动程序参考和网络驱动程序参考没有刊印在本卷 里,这些参考部分仅仅是在线可用
4 网络驱动程序设计参考手册的第 1 部分描述了 NDIS 提供的功能和宏,NDIS 驱动程序 使用这些功能和宏与系统和每个其他的部分进行通信。第 1 部分也描述了 NDIS 定义的和系 统定义的结构, NDIS 驱动程序使用这些结构。 下列 DDK CD-ROM 文档没有刊印: ◼ 驱动程序编写者指南 4.0 调试驱动程序 ◼ 设置、即插即用和电源管理第 3 部分,5.0 编写电池微类驱动程序 ◼ 内核模式驱动程序设计指南第 2-9 部分 串行和并行驱动程序 存储驱动程序 输入设备驱动程序 USB 驱动程序 IEEE 1394 驱动程序 PCMCIA 驱动程序 SMB 客户驱动程序 支持 WMI ◼ 图形驱动程序设计指南第 4 部分 静止图像驱动程序 ◼ 网络驱动程序设计指南第 3 部分,4.0-6.0 TDI,例程,宏和回调 TDI 操作 Windows Sockets 的传输辅助程序 DLL ◼ 虚拟设备驱动程序 增补的文档 注意:在这些 DDK 参考书里,图形驱动程序参考和网络驱动程序参考没有刊印在本卷 里,这些参考部分仅仅是在线可用