| 
			 
					阅读:2827回复:13
				 
				自己做一个设备弹出程序遇到麻烦!
					最近同事情我帮他做一个弹出u盘的程序,要求是:给出盘符,找到相应u盘,然后将其弹出。
 
							做了不少实验,最终没能成功。问题主要是无法通过盘符,找到相应的usb设备。盘符是一个存储卷的符号连接,调用QueryDosDevice()可以通过盘符找到存储卷的物理设备对象名,比如\Device\HarddiskVolume8。然后线就断了,连不下去了。最后能弹出的应该是一个usb接口的设备。我通过SetupDiGetClassDevs,SetupDiEnumDeviceInfo获得了u盘的设备信息元素的上下文结构,然后调用CM_Request_Device_Eject弹出设备实例。但是如何将盘符和设备实例关联起来,实在是难倒我了。请各位同仁帮忙,谢谢!  | 
	|
					
						
						
						
						
  | 
	
| 
			 沙发# 
								发布于:2007-11-02 12:56				
			
					Windows DDK 3790.1830  ??				 
							 | 
	|
					
						
  | 
	
| 
			 板凳# 
								发布于:2007-11-01 17:24				
			  LZ倒是把代码贴出来啊,让大家看看!贵在交流嘛				 | 
	|
| 
			 地板# 
								发布于:2005-01-28 14:06				
			
					谢谢10楼,主要是怎样根据U盘盘符得到相应U盘的设备实例				 
							 | 
	|
| 
			 驱动老牛 
					 
				 | 
		
			 地下室# 
								发布于:2005-01-28 11:46				
			
					send IRP_MN_REMOVE_DEVICE IRP to bus device 				 
							 | 
	
					
						
  | 
	
| 
			 5楼# 
								发布于:2005-01-27 16:07				
			
					兄弟,小弟也遇到了这麻烦,可拜读下源代码不,不胜感激:)谢谢了				 
							 | 
	|
| 
			 6楼# 
								发布于:2004-08-06 23:09				
			兄弟 怎么解决的 能否说给我们听听? 不胜感激! 先给点提示,应用BusRelations和RemovalRelations两种类型的IRP_MN_QUERY_DEVICE_RELATIONS对相关设备对象进行查询,可以得到返回结果。可参看ddk\\src\\\general\\toaster\\toastmon\\toastmon.c中的ToastMon_GetTargetDevicePdo()函数。 具体的实现代码在实验室,等取回来再给大家贴出来!少等!  | 
	|
					
						
  | 
	
| 
			 7楼# 
								发布于:2004-08-02 15:39				
			
					兄弟 怎么解决的 能否说给我们听听? 不胜感激!				 
							 | 
	|
| 
			 8楼# 
								发布于:2004-07-31 01:58				
			
					问题解决了				 
							 | 
	|
					
						
  | 
	
| 
			 9楼# 
								发布于:2004-07-08 20:50				
			
					目前还没解决,请教了一些高人,有两种观点,一种认为可以从注册表中寻找相关信息,第二种观点认为可以通过询问usb总线驱动或usbstor驱动来获取相关信息。
 
							请各位楼上楼下楼前楼后的兄弟多给与关注,多提供帮助!  | 
	|
					
						
  | 
	
| 
			 10楼# 
								发布于:2004-07-08 20:40				
			
					目前还没解决,请教了一些高人,有两种观点,一中认为可以注册表,二是				 
							 | 
	|
					
						
  | 
	
| 
			 11楼# 
								发布于:2004-07-02 16:32				
			
					楼主解决了没有啊?
 
							我也想知道, 给分.  | 
	|
| 
			 12楼# 
								发布于:2004-06-25 20:49				
			
					有点夸张吧?我只需要通过盘符找到相应的usb设备实例。
 
							当我们插入u盘后,系统托盘中会出现一个小箭头图标,用鼠标点击它,会弹出所有可以弹出的设备的描述,u盘设备还会带上系统分配给它的盘符,比如“USB Mass Storage(H:)”。也许我可以换一种问法,当我们点击这个小箭头之后,发生了什么动作,是怎样实现这些动作的?  | 
	|
					
						
  | 
	
| 
			 13楼# 
								发布于:2004-06-22 16:27				
			
					研究一下SCSI协议。:)				 
							 | 
	|
							
				
				
 LZ倒是把代码贴出来啊,让大家看看!贵在交流嘛