【发布时间】:2016-04-25 17:06:59
【问题描述】:
Windows API 支持GetVolumeInformation 函数。此函数提供有关 Windows 卷的信息。具体来说,它返回一个 FILE_CASE_SENSITIVE_SEARCH 开关。在内核中有FltQueryVolumeInformation 和ZwQueryVolumeInformationFile,但我看不到任何从可用信息类中获取区分大小写信息的方法。
我是否正确理解 FILE_CASE_SENSITIVE_SEARCH 开关仅指定可以进行区分大小写的搜索(而不是默认情况下完成)?您仅根据打开文件的方式知道区分大小写是否正确(即您必须使用 FILE_FLAG_POSIX_SEMANTICS 标志调用 CreateFile,否则使用 Win32 不区分大小写的行为)?
【问题讨论】:
-
一个有趣的问题。据我了解,必须在内核中启用区分大小写,由文件系统支持,并且由 CreateFile(或 ZwCreateFile)调用请求才能使其工作。但我不确定 NTFS 是否允许您在每个卷的基础上打开和关闭它,如果不是,我不知道 GetVolumeInformation 实际在查找什么。