3

我正在维护一个带有用户空间和内核组件的旧版 Windows 应用程序。用户空间通过注册表键将一些文件路径传递给设备驱动程序。

目前,代码找到文件的完整路径,然后在将\??\其写入注册表之前将其添加到文件前面,因此路径最终类似于\??\C:\foo.bar. 驱动程序将此路径传递给InitializeObjectAttributes()and ZwCreateFile(),从而成功打开文件(或根据需要创建文件)。

我熟悉\\.\前缀作为 的别名\DosDevices\,但不是\??\,而且它不是那种可以用谷歌搜索的东西。有谁知道这意味着什么?

4

1 回答 1

2

它是在引导过程中创建的命名空间子目录。其中包含指向 Win32 API 可访问的资源的链接。在系统完全启动之前的引导期间,如果引用了该路径,则在没有 \??\ 的情况下可能无法解析。

于 2013-01-23T15:16:37.727 回答