Помогите разобраться с кодом
От: Аноним  
Дата: 21.08.06 21:06
Оценка:
Меня интересует вариант WMI-class-а -- Win32_DiskDrive;

Я тут, наконец, нашёл пример в инете, разбираюсь, вроде адаптирую для класса Win32_DiskDrive.
Вот лабаю код по исследованию ФИЗИЧЕСКИХ дисков. Вроде даже чуть получается... , но....
class Program
  {
    static void Main( string[] args )
    {        
         Console.WriteLine( " ------------ НАЧАЛО --------------- - Работа с диском процедура DiskDrive -" );
         Console.WriteLine( "\n" );
         System.Management.ManagementScope instManageScope = new System.Management.ManagementScope( "", null );
         System.Management.ObjectQuery instObjQuery = new System.Management.ObjectQuery( "SELECT * FROM Win32_DiskDrive" );
         System.Management.ManagementObjectSearcher collectManObjSearch = new System.Management.ManagementObjectSearcher( instManageScope, instObjQuery );
         System.Management.ManagementObjectCollection diffCollManObjSearch = collectManObjSearch.Get();
             foreach( ManagementObject mo in diffCollManObjSearch ) 
             {
                Console.WriteLine( "Availability : " + mo[ "Availability" ] );
                Console.WriteLine("BytesPerSector : "+mo["BytesPerSector"]);
                Console.WriteLine( "Capabilities : " + mo[ "Capabilities" ] );
                Console.WriteLine("\n");
             }
    }
  }

Строку "BytesPerSector" -- выводит и заполняет исправно. -- "512"
После 2-х остальных "Availability : " и "Capabilities : " выводит пустые значения (ничего.
Стал рыть глубже... чтобы выдать больше настроек-параметров -- и тут натыкаюсь на проблему своего незнания. (Вариант обработки "Capabilities" почти имеет почти такой же вывод).
Смотрю сам исходник ROOT.CIMV2.Win32.DiskDrive класса и вижу такую вещь:
....
    [Browsable( true )]
    [DesignerSerializationVisibility( DesignerSerializationVisibility.Hidden )]
    [Description( @"The availability and status of the device.  For example,..." )]
    [TypeConverter( typeof( WMIValueTypeConverter ) )]
    public AvailabilityValues Availability
    {
      get
      {
        if( ( curObj[ "Availability" ] == null ) )
        {
          return ( ( AvailabilityValues ) ( System.Convert.ToInt32( 0 ) ) );
        }
        return ( ( AvailabilityValues ) ( System.Convert.ToInt32( curObj[ "Availability" ] ) ) );
      }
    }


....
ЧТО ЗА СТРАННАЯ СТРОКА ВОЗВРАТА?! --
return ((AvailabilityValues)(System.Convert.ToInt32(curObj("Availability"])))


В каком формате её можно принять?!
Примечание: Таблица значений Availability принадлежит CIM_DiskDrive — классу...
Но как эти данные получить?!! -- они же не дают отображения


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.