Существует инструмент WMI Code Creator от Microsoft, который может генерировать C #, Visual Basic .NET и код VBScript для вас, чтобы выполнить любой запрос WMI и перечислить результаты. Он также очень полезен для изучения пространств имен и классов WMI, поэтому он необходим при работе с WMI.
Теперь вернемся к вопросу. Из синтаксиса System.UInt16[]
я предполагаю, что вы используете C #. Вот пример кода C # (созданного WMI Code Creator с небольшими изменениями), который демонстрирует, как вы можете получить доступ к отдельным элементам массива Capabilities
:
ManagementObjectSearcher searcher =
new ManagementObjectSearcher("root\\CIMV2",
"SELECT * FROM Win32_DiskDrive");
foreach (ManagementObject queryObj in searcher.Get())
{
if(queryObj["Capabilities"] == null)
Console.WriteLine("Capabilities: {0}", queryObj["Capabilities"]);
else
{
UInt16[] arrCapabilities = (UInt16[])(queryObj["Capabilities"]);
foreach (UInt16 arrValue in arrCapabilities)
{
Console.WriteLine("Capabilities: {0}", arrValue);
}
}
Console.WriteLine();
}
Чтобы преобразовать значение UInt16
в строку, вы можете использовать метод ToString
, например:
foreach (UInt16 arrValue in arrCapabilities)
{
Console.WriteLine(arrValue.ToString());
}