阅读:1099回复:6
难题,如何得到设备的所有名称?
这是一个设备的所有名称:
\\\\??\\VOLUME{B98C809F-8C65-11D9-BECB-000C6E839AA6} \\\\??\\I:\\ \\\\??\\SCSI#CDROM&VEN_GENERIC&PROD_STEALTH_DVD&REV_#2&23BBB35&0&000#{53F5630D-B6BF-11D0-94F2-00A0C91EFB8B} \\\\DEVICE\\CDROM1 \\\\??\\GLOBALROOT\\DEVICE\\CDROM1 问题: 1 他们的含义是什么? 2 知道其中一个名称,如何获得其他的名称? 3 如何从\\\\DEVICE\\CDROM1的设备名称得到逻辑磁盘名称(i:\\)? 谢谢高手指点! |
|
|
沙发#
发布于:2005-05-10 14:23
\\\\??\\VOLUME{B98C809F-8C65-11D9-BECB-000C6E839AA6}
\\\\??\\I:\\ \\\\??\\SCSI#CDROM&VEN_GENERIC&PROD_STEALTH_DVD&REV_#2&23BBB35&0&000#{53F5630D-B6BF-11D0-94F2-00A0C91EFB8B} 都是设备名的符号连接名称(Symbol Name) 而\\\\DEVICE\\CDROM1是设备名(Device Name) 而这个\\\\??\\GLOBALROOT\\DEVICE\\CDROM1严格的说应该是设备名 [编辑 - 5/10/05 by AllenZh] |
|
|
板凳#
发布于:2005-05-10 16:00
他们都属于对象管理器的范围,找他们\\\\??\\VOLUME{B98C809F-8C65-11D9-BECB-000C6E839AA6}
\\\\??\\I:\\ \\\\??\\SCSI#CDROM&VEN_GENERIC&PROD_STEALTH_DVD&REV_#2&23BBB35&0&000#{53F5630D-B6BF-11D0-94F2-00A0C91EFB8B} \\\\DEVICE\\CDROM1 \\\\??\\GLOBALROOT\\DEVICE\\CDROM1 对象结构,如果是连接,应该都指向有设备对象 |
|
|
地板#
发布于:2005-05-10 16:29
谢谢AllenZh 和 bmyyyud.
第一问我明白了. 第二问如何解决呢? 如维持一\\\\DEVICE\\CDROM1这样的设备名表,现在有\\\\??\\I:\\这样的名称或者其他名字,如何能够得到他的\\\\DEVICE\\CDROM1名字?反过来知道\\\\DEVICE\\CDROM1名字如何知道他的连接符号名? 还有一问,一个设备可以有几个设备名和符号连接名? |
|
|
地下室#
发布于:2005-05-10 16:34
设备名应该只有一个甚至可以没有(但I/O Manager会给它一个的),符号连接名个数不限 |
|
|
5楼#
发布于:2005-05-10 18:40
第二问能否给个答案?
|
|
|
6楼#
发布于:2005-05-11 09:33
第二问能否给个答案? 这涉及到Undocumented的有关Windows对象的东西,给你个大师的Winobj,可能你也有,只有EXE文件,用它可以看到符号连接对应设备,所以想办法研究一下,反汇编?也许是唯一途径 |
|
|