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