0

连接网络驱动器后,当我们打开Windows资源管理器或文件对话框, 时,进程在注册表中找到该密钥以显示其卷名。这是什么GUID?

HKCU \软件\微软\的Windows \ CurrentVersion \ Explorer中\ MountPoints2 \ {A45BA3B2-F3 96-4F67-8375-ECC2CA1EBBFC} \ _ LabelFromReg

我不知道是什么GUID是。

  • 这是什么?
  • 谁(何时)确实创建密钥?
  • 应用程序(在这种情况下,Windows资源管理器)如何知道密钥?

我正在开发像SMB这样的网络重定向器。
我应该为密钥写一个卷名。
一旦我的网络卷连接,注册表项也创建。 (GUID与中小企业不一样,它甚至会在每个连接创建和删除时发生变化)
但是我不知道如何获得我的卷的(?)GUID(即使是谁创建密钥)

我试图在ReactOS源代码中找到DefineDosDeviceW(怀疑)。但它尚未实施。 T.T

- 当然,我也写了卷名\ MountPoints2 \ ## UNCNAME \ _LabelFromReg
但它并不在64位Windows WOW64应用程序。

回答

2

这不是一个特定的GUID;这是一个卷标识符。 Windows资源管理器在装入卷时创建这些密钥。您可以通过运行不带参数的mountvol来查看当前安装的卷ID的列表。以编程方式(在Win32级别),您可以通过FindFirstVolume和朋友获得它。我对网络重定向器一无所知;但是,手动在资源管理器注册表项中进行篡改似乎并不正确。这是探险家的私人领地。你想达到什么目的?也许有一个记录的API。

+0

我必须写入密钥才能在Apps中表示我的卷名。在只有Wow64应用程序的对话框中,我们的卷名没有很好地显示。谢谢,我会尝试FindFirstVolume和他的朋友:) – Benjamin 2010-12-14 08:21:42

+0

我试过,但事实并非如此。它与卷标识符不同。 – Benjamin 2010-12-14 08:43:27

+0

@Benjamin - win64可能不同吗?因为对我来说键名确实匹配卷ID ......不幸的是,我没有win64方便检查。 – atzz 2010-12-14 09:19:52