![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| Dark Wanderer |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 25.10.2004 Где: Кишинёв Репутация: нет Всего: нет |
Здравствуйте. Подскажите как можно получить SMART атрибуты винта? А именно температуру. Буду благодарен за любую помощь.
Это сообщение отредактировал(а) Dark Wanderer - 25.10.2004, 17:08 --------------------
|
|||
|
||||
| Alex |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4147 Регистрация: 25.3.2002 Где: Москва Репутация: 6 Всего: 162 |
Вот пример может натолкнет на решение проблемы:
{ **** UBPFD *********** by delphibase.endimus.com **** >> Поличение серийного номера IDE диска. Функция получает серийный номер первого физического диска IDE (не серийный номер тома!). Используется S.M.A.R.T. API, а под Windows NT/2K/XP запрос производится не напрямую к диску, а через miniport драйвер контроллера, что позволяет читать серийный номер не имея прав администратора. Функция может не работать, если первый контролер в системе не ATA или если первое устройство не является винчестером, который поддерживает SMART (современные винчестеры поддерживают). Если Вы хотите получить другие параметры диска/других дисков, то смотрите пример IdeInfo2 с моего сайта. На Windows 9x требует наличия драйвера smartvsd.vxd (должен быть в стандартной поставке), просто скопируйте его в \windows\system\iosubsys и перезагрузите компьютер. Зависимости: Windows, SysUtils Автор: Alex Konshin, [email protected], Boston, USA Copyright: http://home.earthlink.net/~akonshin/index.htm Дата: 30 декабря 2002 г. ***************************************************** }
Пример использования:
Автор: Alex Konshin, [email protected], Boston, USA -------------------- Написать можно все - главное четко представлять, что ты хочешь получить в конце. |
||||
|
|||||
| Dark Wanderer |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 25.10.2004 Где: Кишинёв Репутация: нет Всего: нет |
Спасибо за помощь. Я понял что искать.
Это сообщение отредактировал(а) Dark Wanderer - 25.10.2004, 21:10 --------------------
|
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 14 Всего: 112 |
Самому было интересно, поэтому вот что накатал:
Модуль ioctl.pas от Alex Konshin можно скачать тут: http://home.earthlink.net/~akonshin/files/IdeInfo2.zip (там в архиве нужный модуль и пример IdeInfo2 - получение серийных номеров) -------------------- С уважением, г-н Посол. |
|||
|
||||
| Dark Wanderer |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 25.10.2004 Где: Кишинёв Репутация: нет Всего: нет |
За второй пример спасибо, но температура уменя 166, может она в
фаренгейтах или ещё в чем --------------------
|
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 14 Всего: 112 |
Мдя... Посмотри AIDA'ой SMART-показания (Хранение данных->SMART), там поле C2 - Temperature, какие там показания ? И сравни их с тем, что получаются в da:
например, da.bWorstValue - наихудшее значение... (или не в Аиде, дак в Сандре или подобной проге).. PS: может у тебя винт подыхает ? PPS: а у меня нормально показывает - то же самое, что и АИДА - 36 (единицы не указаны...) -------------------- С уважением, г-н Посол. |
|||
|
||||
| Dark Wanderer |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 25.10.2004 Где: Кишинёв Репутация: нет Всего: нет |
У меня есть две проги :HDD Temperature и SMART Monitor и оба показывают 42.
--------------------
|
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 14 Всего: 112 |
Распиши полностью то что содержится в da...
(Там 5-6 полей)... Т.е. перед Break выведи куда-нибудь все поля и тут их покажи... -------------------- С уважением, г-н Посол. |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 14 Всего: 112 |
Еще лучше сделай так:
-------------------- С уважением, г-н Посол. |
|||
|
||||
| Dark Wanderer |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 25.10.2004 Где: Кишинёв Репутация: нет Всего: нет |
Вот, что получил в мемо
10 00 01 0B 00 64 64 00 00 00 00 00 00 00 02 05 00 64 64 00 00 00 00 00 00 00 03 07 00 66 66 0F 01 08 01 05 00 00 04 12 00 64 64 42 07 00 00 00 00 00 05 33 00 64 64 00 00 00 00 00 00 00 07 0B 00 64 64 00 00 00 00 00 00 00 08 05 00 64 64 00 00 00 00 00 00 00 09 12 00 64 64 7B 0F 00 00 00 00 00 0A 13 00 64 64 00 00 00 00 00 00 00 0C 32 00 64 64 6F 06 00 00 00 00 00 C0 32 00 63 63 50 07 00 00 00 00 00 C1 12 00 63 63 50 07 00 00 00 00 00 C2 02 00 94 94 25 00 0D 00 37 00 00 C4 32 00 64 64 00 00 00 00 00 00 00 C5 22 00 64 64 00 00 00 00 00 00 00 C6 08 00 64 64 00 00 00 00 00 00 00 C7 0A 00 C8 C8 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 C4 06 01 1B 03 00 01 00 01 1D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 F6 Текущая температура 36 Это сообщение отредактировал(а) Dark Wanderer - 26.10.2004, 19:27 --------------------
|
|||
|
||||
| p0s0l |
|
||||||||||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 14 Всего: 112 |
Ага. Смотри, на каждый атрибут - по 12 байт. Вначале 10 00 - это какая-то фигня, не знаю к чему это (на длину не походит :-\ )...
Вначале атрибут 01 (read error rate), потом 02 (Throughput perf), 03 (spin up time) и т.д. Идём до C2 - это и есть температура:
Если расписать по полям: bAttrId = $C2 wStatusFlag = $02 ( = ON_LINE_COLLECTION) bAttrValue = $98 = 152 - нормализованное значение, это число и выводит GetHDDTemp bWorstValue = $98 = 152 - наихудшее значение bRawValue = $24 = 36 - ненормализованное значение Т.е. программы выводили ненормализованное значение. А я выводил нормализованное, потому как у меня для атрибута температуры такое получается:
Значится, получается, что нужно выводить ненормализованное значение. Для этого в GetHDDTemp надо эту строчку переделать так:
Еще, ради интереса, можешь ли показать, то что тебе выведет это:
-------------------- С уважением, г-н Посол. |
||||||||||
|
|||||||||||
| Dark Wanderer |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 25.10.2004 Где: Кишинёв Репутация: нет Всего: нет |
Вывелось вот это:
01 3C 00 00 00 00 00 00 00 00 00 00 02 32 00 00 00 00 00 00 00 00 00 00 03 18 00 00 00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00 05 05 00 00 00 00 00 00 00 00 00 00 07 43 00 00 00 00 00 00 00 00 00 00 08 14 00 00 00 00 00 00 00 00 00 00 09 00 00 00 00 00 00 00 00 00 00 00 0A 3C 00 00 00 00 00 00 00 00 00 00 0C 00 00 00 00 00 00 00 00 00 00 00 C0 32 00 00 00 00 00 00 00 00 00 00 C1 32 00 00 00 00 00 00 00 00 00 00 C2 00 00 00 00 00 00 00 00 00 00 00 C4 00 00 00 00 00 00 00 00 00 00 00 C5 00 00 00 00 00 00 00 00 00 00 00 C6 00 00 00 00 00 00 00 00 00 00 00 C7 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 D8 Спасибо за помощь, не подскажешь где ты(вы) нарыл инфу? --------------------
|
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 14 Всего: 112 |
Я (не мы
Большинство интуитивно понятно (но как видишь, не совсем до конца понятно -------------------- С уважением, г-н Посол. |
|||
|
||||
| Dark Wanderer |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 119 Регистрация: 25.10.2004 Где: Кишинёв Репутация: нет Всего: нет |
Shell под Виндозу. Ещё раз спасибо за оперативную помощь и что потратил столько времени ! Это сообщение отредактировал(а) Dark Wanderer - 26.10.2004, 20:14 --------------------
|
|||
|
||||
| Гость_FREE |
|
|||
|
Unregistered |
Есть по этому поводу один глюек в коде!!
|
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 14 Всего: 112 |
Какой ?
(всё надо вытягивать, сами ничего не расскажут -------------------- С уважением, г-н Посол. |
|||
|
||||
![]()
|
| Правила форума "Delphi: WinAPI и системное программирование" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |