情况:
我正在使用
/c/Users/username/.ssh/config: line 2: Bad configuration option: \240\240user
/c/Users/username/.ssh/config: line 3: Bad configuration option: \240\240identityfile
扫描目录。除了此调用返回的数据外,我还需要安全数据(通常由NtQueryDirectoryFile(..., FileBothDirectoryInformation, ...)
返回)和备用流列表(GetKernelObjectSecurity
)。
问题:
要检索安全性和备用流信息,我需要打开(并关闭)每个文件。在我的测试中,它将操作减慢了3倍。添加NtQueryInformationFile(..., FileStreamInformation)
和GetKernelObjectSecurity
将其减慢4倍(使其成为12倍)。
问题: 是否有更好/更快的方式来获取此信息(通过更快地打开文件或完全避免文件打开)?
思路: 如果目标文件系统是本地的,我可以直接访问它(知道NTFS / FAT / etc详细信息从原始数据中提取信息)。但它不适用于远程文件系统。
答案 0 :(得分:0)
自定义SMB客户端就是答案。跳过Windows / NT API层打开了所有大门。