如何以编程方式检查系统上是否启用了 8.3 短路径名?

问题描述 投票:0回答:1

我知道我们可以通过设置

NtfsDisable8dot3NameCreation
手动启用或禁用 8.3 短路径名称支持。

但是如何通过代码读取这个系统信息呢?实际上我必须根据系统是否启用了 8.3 来禁用一些功能。

请帮忙

谢谢

windows path filesystems
1个回答
0
投票

fsutil
提供此功能:

PS C:\Windows\system32> FSUTIL.EXE 8dot3name query D: 
The volume state is: 0 (8dot3 name creation is enabled). 
The registry state is: 2 (Per volume setting - the default).

Based on the above two settings, 8dot3 name creation is enabled on D:

如果您需要 API,请使用

GetVolumeInformation
,它提供了以下功能:

lpMaximumComponentLength [输出,可选]

指向接收最大长度的变量的指针,以 TCHAR 形式表示, 指定文件系统支持的文件名组件。

文件名组件是文件名之间的部分 反斜杠。存储在变量中的值 *lpMaximumComponentLength 指向用于指示指定的文件系统支持长名称。例如,对于 FAT 文件 支持长名称的系统,该函数存储值255, 而不是之前的 8.3 指标。长名字也可以 在使用 NTFS 文件系统的系统上受支持。

© www.soinside.com 2019 - 2024. All rights reserved.