0

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

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

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

4

1 回答 1

0

我咬紧牙关,最后只是调用了 Win32 API 到 GetVolumeInformation(在问题上方链接)。当您使用此功能检索卷序列时,如果您想要与“vol”命令在命令提示符中显示的相同值,则必须记住将十进制数转换为十六进制数。

于 2013-05-14T13:04:23.200 回答