设备对象(DEVICE_OBJECT)主要成员及标志位

DriverObject: 指向与该设备对象相关的驱动程序对象。Windows过滤驱动程序有时需要用这个指针来寻找被过滤设备的驱动程序对象。
CurrentIrp: 指向最近发往驱动程序StartIo函数的I/O请求包。
Flags: 包含一组标志位

  • DO_BUFFERED_IO: 读写操作使用缓冲方式(系统复制缓冲区)访问用户模式数据
  • DO_EXCLUSIVE: 一次只允许一个线程打开设备句柄
  • DO_DIRECT_IO: 读写操作使用直接方式(内存描述符表)访问用户模式数据
  • DO_DEVICE_INITIALIZING: 设备对象正在初始化
  • DO_POWER_PAGABLE: 必须在PASSIVE_LEVEL级上处理IRP_MJ_PNP请求
  • DO_POWER_INRUSH: 设备上电期间需要大电流

Characteristics: 包含另一组标志位,描述设备的可选特征

  • FILE_REMOVABLE_MEDIA: 可更换媒介设备
  • FILE_READ_ONLY_DEVICE: 只读设备
  • FILE_FLOPPY_DISKETTE: 软盘驱动器设备
  • FILE_WRITE_ONCE_MDEIA: 只写一次设备
  • FILE_REMOTE_DEVICE: 通过网络连接访问的设备
  • FILE_DEVICE_IS_MOUNTED: 物理媒介已在设备中
  • FILE_DEVICE_SECURE_OPEN: 在打开操作中检查设备对象的安全属性

DeviceType: 一个枚举常量,描述设备类型。

  • FILE_DEVICE_PRINTER: 打印机
  • FILE_DEVICE_SCANNER: 扫描仪
  • FILE_DEVICE_UNKNOWN: 未知设备
此条目发表在 windows驱动开发 分类目录,贴了 , 标签。将固定链接加入收藏夹。

发表评论