C# DiskClass.GetInstances() 异常

简洁代码如下:
const int WM_DEVICECHANGE = 0x2190;
const int DBT_DEVICEARRIVAL = 0x8000;
const int DBT_DEVICEREMOVECOMPLETE = 0x8004;
protected override void WndProc(ref Message m)
{
ManagementClass DiskClass = new ManagementClass(@"Win32_Diskdrive");
try
{

            if (m.WParam.ToInt32() == DBT_DEVICEARRIVAL)
            {
                ManagementObjectCollection Moc =DiskClass.GetInstances();

            }
            if (m.WParam.ToInt32() == DBT_DEVICEREMOVECOMPLETE)
            {
                ManagementObjectCollection Moc= DiskClass.GetInstances();

            }

        }
        catch (Exception ex){}

出错如下:
图片说明

DiskClass在哪里定义的?