cdwhale
驱动牛犊
驱动牛犊
  • 注册日期2002-05-22
  • 最后登录2004-07-30
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:1586回复:3

如何知道DEVICE_OBJECT的SymbolicLinkName

楼主#
更多 发布于:2003-11-27 17:44
我正在做一个文件系统的Filter,现在想得到一个文件的完整名称(包括驱动器号)。文件名称没有问题,驱动器号比较困难,不知道如何下手。因为驱动器号是通过SymbolicLinkName如\\\\DosDeviceNames\\\\C:这样的格式创建的,如何才能得到一个DeviceObject对应的SymbolicLinkName?
或者有没有其他快速的方法得到?
KMK
KMK
驱动大牛
驱动大牛
  • 注册日期2001-09-12
  • 最后登录2017-10-06
  • 粉丝2
  • 关注0
  • 积分42分
  • 威望404点
  • 贡献值2点
  • 好评度58点
  • 原创分1分
  • 专家分1分
  • 社区居民
沙发#
发布于:2003-11-28 02:51
ObQueryNameString
y5318
驱动中牛
驱动中牛
  • 注册日期2001-09-18
  • 最后登录2018-05-29
  • 粉丝1
  • 关注0
  • 积分14分
  • 威望22点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
  • 社区居民
板凳#
发布于:2003-11-28 18:02
你是放在那个目录呢, 如果是根目录, 可以用getSystemDirectory, 而且一般都放在根目录
minsoft
驱动小牛
驱动小牛
  • 注册日期2001-07-30
  • 最后登录2007-03-06
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望2点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于: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
}
这样一来就知道驱动器符号了。
少了e,就少了全部
游客

返回顶部