| 
			 
					阅读:2683回复:6
				 
				关于驱动程序分层
					各位大侠:
 
							对于一个IRQ,我如何判断是否需要将此IRQ发送置下一层驱动程序,进行处理?谢谢!!!  | 
	|
					
						最新喜欢: | 
	
| 
			 沙发# 
								发布于:2001-05-23 18:43				
			
					这个问题真的很难回答!
 
							那要看你干什么,同时要看设备栈中位于你的驱动程序下层的程序是否支持你这个IRP! 一般象PNP,POWER MANAGE,可以肯定! 但如果是你自己定义的IRP,肯定不支持。或者说,你可以肯定下层有你自己编写的,支持此IRP的程序,当然,也可以1 反正,你自己琢磨吧!  | 
	|
| 
			 板凳# 
								发布于:2001-05-23 20:01				
			
					[QUOTE]原本由 jeosph 发表
 
							[B]这个问题真的很难回答! 那要看你干什么,同时要看设备栈中位于你的驱动程序下层的程序是否支持你这个IRP! 一般象PNP,POWER MANAGE,可以肯定! 但如果是你自己定义的IRP,肯定不支持。或者说,你可以肯定下层有你自己编写的,支持此IRP的程序,当然,也可以1 反正,你自己琢磨吧! [/B][/QUOTE] IRP可以自己定义吗?  | 
	|
					
						
  | 
	
| 
			 地板# 
								发布于:2001-05-23 20:24				
			
					这个网页的下载中心有一个中文资料说IRP还是很清楚的。
 
							《Waltoney-ch.chm》 “设备对象是系统为帮助软件管理硬件而创建的数据结构。一个物理硬件可以有多个这样的数据结构。处于堆栈最底层的设备对象称为物理设备对象(physical device object),或简称为PDO。在设备对象堆栈的中间某处有一个对象称为功能设备对象(functional device object),或简称FDO。在FDO的上面和下面还会有一些过滤器设备对象(filter device object)。位于FDO上面的过滤器设备对象称为上层过滤器,位于FDO下面(但仍在PDO之上)的过滤器设备对象称为下层过滤器。 。。。。 。。。。 。。。”  | 
	|
					
						
  | 
	
| 
			 地下室# 
								发布于:2001-05-24 09:14				
			
					[QUOTE]原本由 lxf 发表
 
							[B]这个网页的下载中心有一个中文资料说IRP还是很清楚的。 《Waltoney-ch.chm》 “设备对象是系统为帮助软件管理硬件而创建的数据结构。一个物理硬件可以有多个这样的数据结构。处于堆栈最底层的设备对象称为物理设备对象(physical device object),或简称为PDO。在设备对象堆栈的中间某处有一个对象称为功能设备对象(functional device object),或简称FDO。在FDO的上面和下面还会有一些过滤器设备对象(filter device object)。位于FDO上面的过滤器设备对象称为上层过滤器,位于FDO下面(但仍在PDO之上)的过滤器设备对象称为下层过滤器。 。。。。 。。。。 。。。” [/B][/QUOTE] 到底IRP可不可以自己定义?  | 
	|
					
						
  | 
	
| 
			 5楼# 
								发布于:2001-05-24 10:29				
			
					不可以自己 定义 !!
 
							但可以定义IRP重的控制代码!!  | 
	|
| 
			 6楼# 
								发布于:2001-05-24 13:44				
			
					???
 
							"I/O堆栈 任何内核模式程序在创建一个IRP时,同时还创建了一个与之关联的IO_STACK_LOCATION结构数组:数组中的每个堆栈单元都对应一个将处理该IRP的驱动程序,另外还有一个堆栈单元供IRP的创建者使用。堆栈单元中包含该IRP的类型代码和参数信息以及完成函数的地址。 "  | 
	|
					
						
  |