就是把"\Device\HarddiskVolume1"这样的转换为盘符 形如"C:"..
minifilter里有没有简单方便的方法..

解决方案 »

  1.   

    通过链接名能获得设备的指针,对吧?获得了设备的指针,有了DeviceObject的指针,ObQueryNameString貌似就可以了
      

  2.   

    ObQueryNameString得到的就是\Device\HarddiskVolume1\WINDOWS\system32\xxxx.xxx这样的..转换成盘符我有找到资料,
    可以用IoVolumeDeviceToDosName不过这个据说容易死.
    还有用ZwQuerySymbilicLink根据符号链接名枚举相应设备名,然后再比较出..这个是sfilter下的老办法了,用当然也能用的,不过我想偷偷懒问问minifilter下有没有简单点的新办法..
      

  3.   

    MiniFilter也就回调创新了,封装了IRP,其他函数不还是一样用?
      

  4.   


    那倒也是哦~~~fltmgr有提供了不少fltxxxxx的函数的..刚才搜了个了namelookup的源码,里面有获得全路径的有关代码,以前下了个filespy里面包含了个namelookupdef.h,原来是这个里面的...