如何检索有关磁盘卷的信息?

时间:2009-07-05 16:18:48

标签: c# windows

我正在寻找一种工具来监控Windows 2003 Server下我的软件raid的状态,但找不到合适的东西(即不是grossly oversizedneedlessly complicated)。所以我决定自己做,这没什么大不了的。

那么如何以编程方式检索卷的状态?自从我摆弄Windows API以来,已经有一段时间了,我无法使用谷歌找到任何东西。我知道我可以使用diskpart /s并解析它的输出,但这很快就会变得混乱(虽然它确实有一些优点)。

任何指向正确方向的人都非常感激:)

4 个答案:

答案 0 :(得分:2)

Win32 API是(显然)唯一的方式,Virtual Disk Service是神奇的词。

Here是C ++中的一个很好的例子,可以帮助您入门。一开始,不同的COM接口的数量对我来说非常混乱,但是How Virtual Disk Service Works文章是伟大的有助于全面了解。

实际上很容易。尽管从未做过任何严肃的C ++编码,而且之前从未接触过COM,但我仍然能够在几个小时内完成基本功能。

答案 1 :(得分:0)

你检查过WMI吗?

您可以查看here进行演示。

答案 2 :(得分:0)

您可以尝试监控事件日志中的RAID事件。

答案 3 :(得分:0)

我不知道RAID的内容是否会使事情变得复杂,但我之前使用过System.IO.DriveInfo.GetDrives(),这样可以满足我的需求。