gpt4 book ai didi

windows-kernel - 以\??\开头的 Windows 内核对象名称是什么意思?

转载 作者:行者123 更新时间:2023-12-04 04:28:33 27 4
gpt4 key购买 nike

我正在维护一个包含用户空间和内核组件的遗留 Windows 应用程序。用户空间通过注册表项将一些文件路径传递给设备驱动程序。

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

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

最佳答案

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

关于windows-kernel - 以\??\开头的 Windows 内核对象名称是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14482421/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com