none
WMI 中Win32_PhysicalMedia类神马没有?! RRS feed

  • 问题

  • 这是一个令人痛苦的问题:

    我用此代码:

    ManagementObjectSearcher^ searcher = gcnew ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia"); 
    String^ strHardDiskID = "";


    for each(ManagementObject^ mo in searcher->Get())

      Console::WriteLine( mo->GetText(TextFormat::Mof));
      strHardDiskID = mo["SerialNumber"]->ToString()->Trim();

    break; 
     }

    获取硬盘信息。但是 mo["SerialNumber"]为nullptr,输出的结果是:

    instance of Win32_PhysicalMedia
    {
     Tag = "\\\\.\\PHYSICALDRIVE0";
    };

    只能调用 mo["Tag"]     !!!!!

    但是在Win32_DiskDrive、Win32_logicaldisk等中却都正常。希望大家能够给出一个解决方案




    2011年5月21日 3:38

答案

  • Hi xqyww123,

    请问您的用的是什么操作系统?

    据我所知,Win32_PhysicalMedia WMI 类在Vista 或更高版本的操作系统中被Win32_DiskDrive替代了,因此如果您在Vista或更高版本操作系统中使用Win32_DiskDrive来替代Win32_PhysicalMedia

    Lucy


    Lucy Liu [MSFT]
    MSDN Community Support | Feedback to us
    Get or Request Code Sample from Microsoft
    Please remember to mark the replies as answers if they help and unmark them if they provide no help.

    2011年5月23日 8:23
    版主

全部回复