返回
顶部

references:

IRP的结构

image-20250812143052838

IO管理器为每一个IRP创建一个IO stack location数组,数组里面的每一个元素对应设备栈中的一个设备驱动

image-20250812143229785

Buffer访问方式有三种

  • BUFFERED,IO管理器创建一个临时的buffer来共享给驱动,这种方式下input和output使用同一块内存
  • DirectIO,IO管理器锁定用户模式的buffer对应的物理内存然后共享给驱动
  • NEITHER,IO管理器只提供buffer的虚拟地址,不负责校验地址的合法性

IOCTL code的编码格式

image-20250812143749756