为什么我的Documents and Settings文件夹出现拒绝访问错误?

use*_*367 3 .net c# directory file-io windows-7

我正在编写一个获取所有目录和子目录的程序.我正在使用以下代码:

DriveInfo[] drives = DriveInfo.GetDrives();
foreach (DriveInfo drive in drives)
{
    string[] directories = Directory.GetDirectories(drive.Name, "*", SearchOption.AllDirectories);
}
Run Code Online (Sandbox Code Playgroud)

但我得到一个例外,说"访问路径'C:\ Documents and Settings \'被拒绝."

我正在使用Windows 7,我在资源管理器中看不到C:\ Documents and Settings \文件夹.我启用了"显示隐藏文件和文件夹",甚至尝试直接键入路径,但它出现以下错误:"C:\ Documents and Settings无法访问.访问被拒绝."

为什么要Directory.GetDirectories()拉一个似乎不存在的目录?

com*_*ech 15

这个目录就是所谓的连接点,它应该指向c:\ users.

从MSDN文档:

这些交接点可以识别如下:

它们具有FILE_ATTRIBUTE_REPARSE_POINT,FILE_ATTRIBUTE_HIDDEN和FILE_ATTRIBUTE_SYSTEM文件属性集.

他们还将访问控制列表(ACL)设置为拒绝对每个人的读取访问权限.

如果具有所需权限,则调用特定路径的应用程序可以遍历这些连接点.但是,枚举连接点内容的尝试将导致失败.