在不使用WMI的情况下查询分区的卷序列号的最佳方法是什么?

时间:2013-04-25 21:47:05

标签: c# .net wmi disk-partitioning

我们有一个服务(以SYSTEM用户身份运行),它使用WMI来获取安装Windows的驱动器的卷序列号。但是,我们有一个WMI安全性过于严格的客户端,我们无法以这种方式查询卷序列号。

我想使用本机Win32函数GetVolumeInformation来获取此信息,而不是学习WMI安全权限的细节。但是,我不知道此调用是否使用WMI从驱动器获取此信息,或者它是否仅使用在注册表(或其他一些易于访问的位置)中设置的内容,以便普通用户可以更改它(我知道如果你真的知道如何,音量序列仍然可以改变。

GetVolumeInformation是绕过WMI的可行解决方案吗?如果没有,在没有使用WMI调用的情况下,在C#中获取此信息的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

我咬了一口子,最后只是调用Win32 API到GetVolumeInformation(在问题的上面链接)。使用此函数检索卷序列时,如果希望“vol”命令在命令提示符中显示相同的值,则必须记住将十进制数转换为十六进制。