下面是我对于CDO、FiDO的理解,不一定正确,但是还是记录下来,以后学习清楚来再来修正。

  1. ‘CDO’是提供给R3级进程和其它驱动程序的,可以理解为它是我们过滤驱动程序的外交官。负责接收来自R3进程和其它驱动的IO请求(‘CDO’仅仅只负责接收,处理过程由’FiDO’完成)。
  2. ‘FiDO’提供真正Irp、FastIO处理函数,是我们的过滤驱动程序的功能核心。
  3. ‘CDO’不需要挂载到别的驱动上。而’FiDO’则根据需要挂载到目标对象上。
  4. 一个过滤驱动程序的’CDO’最多只可以有1个,‘FiDO’可以有多个。