迷你驱动程序和过滤器驱动程序有什么区别?

Hig*_*ife 3 windows drivers

迷你驱动程序和过滤器驱动程序有什么区别?它们是一样的吗?

Mar*_*oth 7

微型端口驱动程序是特定 USB、音频、SCSI 和网络适配器设备的驱动程序,它依赖于驱动程序堆栈的其余部分为该类型的设备提供通用功能。

过滤器驱动程序向驱动程序堆栈添加额外的功能,并要求使用总线和设备功能驱动程序。

例如,GigE Vision 相机很可能带有两个驱动程序,一个微型端口相机驱动程序和一个以太网过滤器驱动程序。

  • 摄像头驱动程序可能会使摄像头看起来像 Windows 摄像头,让您可以像使用 USB 网络摄像头一样捕捉静止图像和视频。
  • 过滤器驱动程序将允许相机驱动程序对以太网接口进行低级别访问。这将允许微型端口驱动程序控制以太网数据包的优先级,确保非视频数据包的优先级低于时间关键视频帧数据包。

来自Windows Driver Model的维基百科页面:


设备功能驱动程序

功能驱动程序是设备的主要驱动程序。功能驱动程序通常由设备供应商编写并且是必需的(除非设备在原始模式下使用)。一个功能驱动程序可以为一个或多个设备提供服务。

  • 类驱动程序:这些是一种功能驱动程序,可以将其视为内置框架驱动程序,可以在其上构建微型端口和其他类驱动程序。类驱动程序在 WDM 架构的不同级别之间提供接口。不同类驱动程序之间的通用功能可以写入类驱动程序并由其他类和微型端口驱动程序使用。类驱动程序的下边缘将其接口暴露给微型端口驱动程序,而顶级类驱动程序的上边缘是特定于操作系统的。类驱动程序可以随意动态加载和卸载。它们可以执行非硬件或总线特定的类特定功能(总线类型的类驱动程序除外),实际上有时只执行类特定的功能,如枚举。
  • 微型端口驱动程序:这些也是 USB、音频、SCSI 和网络适配器的功能驱动程序。它们通常应该是 Windows 98 和 Windows 2000 之间的源代码和二进制兼容,并且是特定于硬件的,但通过特定的总线类驱动程序控制对硬件的访问。

巴士司机

总线驱动程序为总线控制器、适配器或桥接器提供服务。Microsoft 为最常见的总线提供了总线驱动程序,例如 PCI、PnPISA、SCSI、USB 和 FireWire。如果需要,每个软件供应商都可以创建自己的总线驱动程序。如果机器上有多个相同类型的总线,则总线驱动程序可以为多个总线提供服务。

过滤驱动程序

过滤器驱动程序是可选的驱动程序,可为设备增加价值或修改设备的行为,并且可能是非设备驱动程序。过滤器驱动程序还可以为一个或多个设备提供服务。上层过滤器驱动程序位于设备的主要驱动程序(功能驱动程序)之上,而低层过滤器驱动程序位于功能驱动程序之下和总线驱动程序之上。

  • 驱动程序服务:这是一种作为 Windows 服务实现的内核级过滤器驱动程序,它使应用程序能够与设备一起工作。