Определение температуры HDD

Тема в разделе "WASM.WIN32", создана пользователем RamMerLabs, 20 дек 2008.

  1. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    Доброго времени суток!

    столкнулся с необъяснимой для меня ситуацией: при определении инфы S.M.A.R.T. для разных винтов данные одного и того же аттрибута размещаются в разных частях буфера, например значение (VALUE) аттрибута "TEMPERATURE" для разных винтов находится по смещениям 133, 155, 215. (размер выходного буфера - 528 байт)

    алгос такой:
    DeviceIoControl (DFP_GET_VERSION)
    DeviceIoControl (DFP_SEND_DRIVE_COMMAND)
    DeviceIoControl (DFP_RECEIVE_DRIVE_DATA)
    необходимые параметры задаю корректно, по рабочему образцу.

    в чём может быть причина? разве возвращаемая в буфер инфа "моделечувствительна"? и как тогда обнаружить значение требуемого аттрибута?
     
  2. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    RamMerLabs
    Конечно моделе зависима. Но все используют атрибуты имеют одинаковые коды и структуру выходного буффера известна.
     
  3. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    Pavia
    спасибо! я понял теперь как искать необходимый аттрибут.
     
  4. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    Pavia
    а не подскажешь точную структуру буфера? точнее аттрибута. вразумительного ничего не повернулось в гугле
     
  5. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    RamMerLabs
    список атрибутов с кодами есть на wiki.
    Описании структуры в
    SFF Committee Specification for Self-Monitoring, Analysis and Reporting Technology
    (S.M.A.R.T.)
    SFF-8035i
    Плюс ATA/ATAPI
     
  6. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    о! благодарствую, педивикию я пропустил совсем.
     
  7. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    Pavia
    ещё вопросик возник: нахожу интересующий аттрибут по его номеру, читаю значение. но оказывается для разных винтов приходится читать разные поля структуры (bAttrValue, bRawValue) как определить откуда именно нужно читать данные для конкретного винта?
     
  8. GMax

    GMax Member

    Публикаций:
    0
    Регистрация:
    3 июл 2006
    Сообщения:
    218
    RamMerLabs
    Почти все винты которые я видел используют bRawValue (правда их было не так много, порядка 30). Только один из протестированных выдал ошибку, это был Hitachi. Полученное значение было совсем из другого числового диапазона.
     
  9. philiron

    philiron New Member

    Публикаций:
    0
    Регистрация:
    4 янв 2009
    Сообщения:
    1
    Я ставил прогу, и таким образом проверял.