| 
			 
					阅读:1482回复:7
				 
				如何得到盘符? 急 40分
					已得到文件句柄, 请问如何得到该文件所在逻辑盘的盘符?
 
							尝试了用 ZwQueryVolumeInformationFile ( IN HANDLE ,-----(已知) OUT PIO_STATUS_BLOCK , OUT PVOID , IN ULONG , IN FS_INFORMATION_CLASS ); 但FS_INFORMATION_CLASS,PVOID不知该如何处理(好像未公开) 请各位赐教。 若有其他办法,也请赐教  | 
	|
| 
			 沙发# 
								发布于:2003-01-20 12:46				
			
					这里有一个方法,不知是否可行:
 
							你利用已知句柄HANDLE读该文件,然后就会被勾子函数扑获到,此时就可在其Drive参数中得到盘符了。  | 
	|
					
						
  | 
	
| 
			 板凳# 
								发布于:2003-01-20 13:27				
			
					怎么读?是用:
 
							NTSTATUS ZwReadFile( IN HANDLE FileHandle, IN HANDLE Event OPTIONAL, IN PIO_APC_ROUTINE ApcRoutine OPTIONAL, IN PVOID ApcContext OPTIONAL, OUT PIO_STATUS_BLOCK IoStatusBlock, OUT PVOID Buffer, IN ULONG Length, IN PLARGE_INTEGER ByteOffset OPTIONAL, IN PULONG Key OPTIONAL ); 吗?哪个参数返回盘符? 谢谢  | 
	|
| 
			 地板# 
								发布于:2003-01-20 13:50				
			
					要用勾子函数扑获IO操作才能返回				 
							 | 
	|
					
						
  | 
	
| 
			 地下室# 
								发布于:2003-01-20 14:26				
			
					能说的具体点吗?给个例子把。
 
							一定给分  | 
	|
| 
			 5楼# 
								发布于:2003-01-20 18:41				
			
					你每进行一次读或写操作都一能被被过滤层驱动程序监视到,监视到的结果中应该包含Drive				 
							 | 
	|
					
						
  | 
	
| 
			 6楼# 
								发布于:2003-01-23 12:59				
			
					调用此函数,不知可否
 
							DWORD GetCurrentDirectory( DWORD nBufferLength, LPTSTR lpBuffer );  | 
	|
| 
			 7楼# 
								发布于:2003-01-23 13:59				
			
					这个函数好像只能得到当前路径吧,不能得到与指定句柄对应的盘符				 
							 | 
	|
					
						
  |