首页
社区
课程
招聘
[讨论]路径中带"\\?"是什么意思?
发表于: 2017-2-7 09:46 7601

[讨论]路径中带"\\?"是什么意思?

2017-2-7 09:46
7601
下面这个路径中, "\\?"代表的是什么意思?

\\?\C:\Windows\System32

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (15)
雪    币: 1085
活跃值: (114)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
2
哪位大神知道的,还望指点一下~
2017-2-7 09:56
0
雪    币: 12848
活跃值: (9108)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
3
代表后面的东西是个符号链接
最终会转换成\Device\HarddiskVolume0\Windows\System32类似这样的路径
2017-2-7 11:11
0
雪    币: 11
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
内核中一般使用NT路径
用户一般使用DOS路径
2017-2-7 11:49
0
雪    币: 1085
活跃值: (114)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
5
内核NT路径中 若带有 "../"这样的路径,会怎么样?还能正常识别码?
例如:
\\?\C:\Windows\System32\..\..\a.txt

是不是完整等于 \\?\C:\a.txt   ???

哪里能找到详细的说明资料?
2017-2-7 14:38
0
雪    币: 12848
活跃值: (9108)
能力值: ( LV9,RANK:280 )
在线值:
发帖
回帖
粉丝
6
".."是往回一级吧,你那个路径解析完的最终结果应该是C:\a.txt
2017-2-7 15:00
0
雪    币: 522
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
2K 開始就有的設定  代表NT路徑       内核 和NT系列函數都要
2017-2-7 16:29
0
雪    币: 1085
活跃值: (114)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
8
好像不是。

你可以在C盘下建立如下文件,C:\a.txt,然后打开运行对话框,输入:
\\?\C:\Windows\System32\..\..\a.txt

发现系统并不能打开 a.txt。

好像系统不识别 "..\"路径。
2017-2-8 10:40
0
雪    币: 30050
活跃值: (2377)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
9
比如说有这么个IE临时文件:

C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files\http://open.show.qq.com/cgi-bin/qqshow_user_gdt_ad?adposcount=1&freshinfo=%7B%22expire%22%3A%22%22%2C%22value%22%3A%22%22%7D&freqinfo=null&posid=2&uin=13800&skey=@xCeiP11sO&frienduin=1352368&ext={"req":{"friendqq":"1352368","qqshow":"0","sex":"M"}}&opencount=4&cmd=query&action=1

你CreateFile会返回失败。但前面加上\\?\就可以。
2017-2-8 14:59
0
雪    币: 1085
活跃值: (114)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
10
有相关的资料文档说明吗?
我想详细了解一下。
2017-2-8 15:22
0
雪    币: 1085
活跃值: (114)
能力值: ( LV8,RANK:120 )
在线值:
发帖
回帖
粉丝
11
还有个疑问,带“\\?”前缀的路径,对于linux系统,IOS系统,适用吗?
2017-2-8 17:59
0
雪    币: 69
活跃值: (71)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
/*比如你有一个符号链接的文件夹(mlink出来的)用//?就会得到真实的文件夹位置
例子
c:\aa\这个文件夹是符号链接的,指向C:\temp
直接打开c:\aa就会显示c:\aa
但如果用\\?\的方式打开,显示的就是c:\temp*/

上面都是我瞎掰的。
不知道是不是UNC路径什么的啊。
https://zhidao.baidu.com/question/2053254096789189347.html
2017-2-8 22:39
0
雪    币: 522
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
13
DOS和WINDOWS下 ..的确是表示上一级目录  

但内核中肯定是没有\\?\C:\Windows\System32\..\..\a.txt这样的路径的      
楼主是看到驱动连接符号   然后自己想当然
2017-2-9 14:28
0
雪    币: 126
活跃值: (621)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
14
The Windows API has many functions that also have Unicode versions to permit an extended-length path for a maximum total path length of 32,767 characters. This type of path is composed of components separated by backslashes, each up to the value returned in the lpMaximumComponentLength parameter of the GetVolumeInformation function (this value is commonly 255 characters). To specify an extended-length path, use the "\\?\" prefix. For example, "\\?\D:\very long path".

https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247%28v=vs.85%29.aspx
2017-2-9 14:43
0
雪    币: 145
活跃值: (85)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
15
Bombs The Windows API has many functions that also have Unicode versions to permit an extended-length path ...
理解成 指定为Unicode超长合法路径,也可以说万能路径吧,这个路径传递给了GetVolumeInformation function的参数 lpMaximumComponentLength
2017-3-7 23:10
0
雪    币: 145
活跃值: (85)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
16
Bombs The Windows API has many functions that also have Unicode versions to permit an extended-length path ...
我理解不知道对不对
2017-3-7 23:11
0
游客
登录 | 注册 方可回帖
返回
//