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

Discussion in 'WASM.WIN32' started by RamMerLabs, Dec 20, 2008.

  1. RamMerLabs

    RamMerLabs Well-Known Member

    Blog Posts:
    0
    Joined:
    Sep 11, 2006
    Messages:
    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

    Blog Posts:
    0
    Joined:
    Jun 17, 2003
    Messages:
    2,409
    Location:
    Fryazino
    RamMerLabs
    Конечно моделе зависима. Но все используют атрибуты имеют одинаковые коды и структуру выходного буффера известна.
     
  3. RamMerLabs

    RamMerLabs Well-Known Member

    Blog Posts:
    0
    Joined:
    Sep 11, 2006
    Messages:
    1,426
    Pavia
    спасибо! я понял теперь как искать необходимый аттрибут.
     
  4. RamMerLabs

    RamMerLabs Well-Known Member

    Blog Posts:
    0
    Joined:
    Sep 11, 2006
    Messages:
    1,426
    Pavia
    а не подскажешь точную структуру буфера? точнее аттрибута. вразумительного ничего не повернулось в гугле
     
  5. Pavia

    Pavia Well-Known Member

    Blog Posts:
    0
    Joined:
    Jun 17, 2003
    Messages:
    2,409
    Location:
    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

    Blog Posts:
    0
    Joined:
    Sep 11, 2006
    Messages:
    1,426
    о! благодарствую, педивикию я пропустил совсем.
     
  7. RamMerLabs

    RamMerLabs Well-Known Member

    Blog Posts:
    0
    Joined:
    Sep 11, 2006
    Messages:
    1,426
    Pavia
    ещё вопросик возник: нахожу интересующий аттрибут по его номеру, читаю значение. но оказывается для разных винтов приходится читать разные поля структуры (bAttrValue, bRawValue) как определить откуда именно нужно читать данные для конкретного винта?
     
  8. GMax

    GMax Member

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

    philiron New Member

    Blog Posts:
    0
    Joined:
    Jan 4, 2009
    Messages:
    1
    Я ставил прогу, и таким образом проверял.