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

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

  1. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Доброго времени суток!

    столкнулся с необъяснимой для меня ситуацией: при определении инфы 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
    RamMerLabs
    Конечно моделе зависима. Но все используют атрибуты имеют одинаковые коды и структуру выходного буффера известна.
     
  3. RamMerLabs

    RamMerLabs Well-Known Member

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

    RamMerLabs Well-Known Member

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

    Pavia Well-Known Member

    Публикаций:
    0
    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
    о! благодарствую, педивикию я пропустил совсем.
     
  7. RamMerLabs

    RamMerLabs Well-Known Member

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

    GMax Member

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

    philiron New Member

    Публикаций:
    0
    Я ставил прогу, и таким образом проверял.