特定于设备类型的 I/O 请求

Windows 驱动程序工具包 (WDK) 特定于设备的部分提供有关系统提供的驱动程序为最常见的设备类型处理的设备类型特定 I/O 请求的信息。

如果新驱动程序满足以下任一条件,新的内核模式驱动程序必须处理与系统提供的驱动程序相同的 I/O 请求集:

  • 新驱动程序将替换相同类型的设备的系统驱动程序。

  • 新驱动程序支持系统中已有类型的另一个设备。

  • 新驱动程序是) 驱动程序的中间 (筛选器,在两个系统提供的驱动程序之间分层。

此类新驱动程序必须处理系统提供的驱动程序处理的每个 IRP_MJ_XXX 请求。 在大多数情况下,新设备驱动程序还应处理IRP_MJ_DEVICE_CONTROL请求的同一组IOCTL_XXX 代码,即使新驱动程序必须模拟系统提供的相应驱动程序的行为。 否则,新的驱动程序可能会中断用户模式应用程序,这些应用程序需要遵循这些类型的请求。

有关驱动程序可以在 IRP 的 I/O 状态块中设置的 NTSTATUS 值(作为特定请求的返回值)的信息,请参阅 使用 NTSTATUS 值。 有关可在错误日志数据包中指定的 NTSTATUS 值的信息,请参阅 记录错误。 使用此信息可以决定新驱动程序针对类似设备类型返回的适当状态值,或作为确定驱动程序为新类型设备返回的相应状态值的帮助。

有关各种驱动程序以及每个驱动程序需要支持的请求的详细信息,请参阅以下内容:

串行设备和驱动程序

系统提供的并行驱动程序

存储驱动程序

HID 体系结构

USB 客户端驱动程序的 I/O 请求

IEEE 1394 驱动程序堆栈

访问 PCMCIA 设备的属性内存

对于所有其他类型的驱动程序,请参阅文档以获取相应的驱动程序类型。