缺少目录和文件信息

Missing directory and file info

以下未返回文件和目录的完整列表:

IEnumerable<FileSystemInfo> files = new DirectoryInfo("C:\Windows\System32\drivers").EnumerateFileSystemInfos("*", SearchOption.AllDirectories);

应用程序 运行 作为管理员。没有其他文件过滤器驱动程序。

例如,如果我 运行:

foreach (FileSystemInfo file in files)
{
    Console.WriteLine(file.Name);
}

我得到:

en-US                                             
gm.dls                                            
gmreadme.txt                                      
UMDF                                              
wimmount.sys
bfe.dll.mui                                       
ndiscap.sys.mui                                   
pacer.sys.mui                                     
qwavedrv.sys.mui                                  
scfilter.sys.mui                                  
tcpip.sys.mui 

我很困惑为什么它不会输出所有的目录和文件。

在 64 位机器上,文件系统(和注册表)的某些部分是虚拟化的。在我看来,您是 运行 在 64 位机器上,并且您的构建目标是 x86(或具有 "Prefer 32-bit" 设置的 AnyCPU)。在 64 位机器上的 32 位进程中,C:\Windows\System32 被重定向到 C:\Windows\SysWOW64。如果您查看 C:\Windows\SysWOW64\drivers 文件夹,您会准确地看到您在输出中看到的文件。