| 
					阅读:1400回复:4
				 需要多线程吗?
					同样的设备装了N个,在访问他们的时候WDM驱动需要创建线程为每个
 应用程序服务吗? | |
| 
 | 
| 沙发#发布于:2002-07-01 11:10 
					不需要,每个驱动会管理N个设备对象,驱动代码是可重入的				 | |
| 
 | 
| 板凳#发布于:2002-07-01 11:53 
					驱动程序应该会为每个硬件都调用一次AddDevice吧。然后你在AddDevice里面一般都会创建一个fdo和DeviceExtension。每个硬件私有的数据都在fdo和DeviceExtension里面,以后IO Manager调用你的例程的时候都会将fdo传给你。我想IO Manager应该不会将具体硬件和fdo搭配错把。
 瞎说的。错了请指正。 | |
| 
 | 
| 地板#发布于:2002-07-01 12:50 
					不需要。需要的是CreateFile时的不同的Symbol link对应不同的设备。而不同的Symbol link是驱动程序在AddDevice时分别创建的,比如
 \\DosDevices\\000000000000001c#{a5dcbf10-6530-11d2-901f-00c04fb951ed}//一个设备 \\DosDevices\\000000000000001d#{a5dcbf10-6530-11d2-901f-00c04fb951ed}//另一个设备。 驱动程序只需在AddDevice调用IoCreateDevice时带FILE_AUTOGENERATED_DEVICE_NAME参数就可以了。 | |
| 
 | 
| 地下室#发布于:2002-07-01 14:06 
					多谢楼上的3位高手。
 | |
| 
 | 
 
							
 
				 
				