我正在寻找一种工具来监控Windows 2003 Server下我的软件raid的状态,但找不到合适的东西(即不是grossly oversized或needlessly complicated)。所以我决定自己做,这没什么大不了的。
那么如何以编程方式检索卷的状态?自从我摆弄Windows API以来,已经有一段时间了,我无法使用谷歌找到任何东西。我知道我可以使用diskpart /s
并解析它的输出,但这很快就会变得混乱(虽然它确实有一些优点)。
任何指向正确方向的人都非常感激:)
答案 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(),这样可以满足我的需求。