阅读:1585回复:3
如何知道DEVICE_OBJECT的SymbolicLinkName
我正在做一个文件系统的Filter,现在想得到一个文件的完整名称(包括驱动器号)。文件名称没有问题,驱动器号比较困难,不知道如何下手。因为驱动器号是通过SymbolicLinkName如\\\\DosDeviceNames\\\\C:这样的格式创建的,如何才能得到一个DeviceObject对应的SymbolicLinkName?
或者有没有其他快速的方法得到? |
|
沙发#
发布于:2003-11-28 02:51
ObQueryNameString
|
|
板凳#
发布于:2003-11-28 18:02
你是放在那个目录呢, 如果是根目录, 可以用getSystemDirectory, 而且一般都放在根目录
|
|
地板#
发布于:2003-11-29 13:21
因为你是在filter里面,已经有一个变量nDrive,该变量即是驱动器号,0=A,1=B....,但苦于一些网络驱动器是,该变量为0xFF,可以用下法得到:
ifsreq * pifsreq = (ifsreq *)pir; if(nDrive == 0xFF) { nDrive = pifsreq->ifs_drv; //this is very important for network } 这样一来就知道驱动器符号了。 |
|
|