HardDisk Detector

Тема в разделе "WASM.ASSEMBLER", создана пользователем SolidCode, 26 апр 2006.

  1. SolidCode

    SolidCode New Member

    Публикаций:
    0
    Регистрация:
    2 дек 2002
    Сообщения:
    162
    Адрес:
    Kazakhstan
    Я тут прогу написал. Ничего особенного не изобрёл. Пользовался разными источниками и исходниками. Просто хотелось всё это на асме сделать.

    Прога должна определять параметры HDD устройств в компе. Посмотрите, погоняйте. Вдруг какие ошибки есть. Хочу потом выложить с исходниками на WASM.RU. Прога только для линейки WinNT (работает через DeviceIoControl). Нужны права админа.



    [​IMG] _968387870__hddid.zip
     
  2. Marazm

    Marazm Member

    Публикаций:
    0
    Регистрация:
    8 мар 2004
    Сообщения:
    95
    SolidCode

    Если вам интерсно, по не понятным причинам, при нажатии на "Refresh" происходит инкремент значения "IDE Drives Detected". А еще, неплохо было бы smart-статус и темперетуру выводить))
     
  3. SolidCode

    SolidCode New Member

    Публикаций:
    0
    Регистрация:
    2 дек 2002
    Сообщения:
    162
    Адрес:
    Kazakhstan
    Marazm

    Большое спасибо. Вот и первый незамеченный баг нашёлся. Это я сам виноват. Забыл при обновлении обнулять количество найденных драйвов. Поэтому к предыдущему количеству добавлялись новые. Теперь исправлено.

    Smart-статус есть где посмотреть. Постараюсь реализовать. А где температуру винта брать? Я такой инфы не видел. При разработке пользовался данными от следующих программ: aida32, SysSoft Sandra, diskid32, idedrive

    В принципе определяем параметры винта через ATA.
     
  4. CARDINAL

    CARDINAL Member

    Публикаций:
    0
    Регистрация:
    23 янв 2004
    Сообщения:
    551
    Адрес:
    Moscow
    Marazm

    смарт статус и температуру может не получиться. Если имеем дело с винтами, присабаченными к внешнему scsi контроллеру, для которого, есессно, дрова пишут производители контроллеров. Так вот, их минипорт может не поддерживать комманд чтения смарт состояния, соответственно,родовой драйвер вернет ошибку. Есть вариант наклепать только отдельный драйвер для реализации этого дела. Про температуру и формат смарт пакета смареть на t13.0rg
     
  5. CARDINAL

    CARDINAL Member

    Публикаций:
    0
    Регистрация:
    23 янв 2004
    Сообщения:
    551
    Адрес:
    Moscow
  6. SolidCode

    SolidCode New Member

    Публикаций:
    0
    Регистрация:
    2 дек 2002
    Сообщения:
    162
    Адрес:
    Kazakhstan
    Спасибо за ссылочку. Это действительно хорошая кладовочка. Буду разбираться.

    Ещё комментарии приветствуются.
     
  7. Marazm

    Marazm Member

    Публикаций:
    0
    Регистрация:
    8 мар 2004
    Сообщения:
    95
    SolidCode

    Я не знаю, где брать температуру. Просто видел много мелких утилит, которые выводят температуру.
     
  8. SolidCode

    SolidCode New Member

    Публикаций:
    0
    Регистрация:
    2 дек 2002
    Сообщения:
    162
    Адрес:
    Kazakhstan
    Вот посмотрите, попробуйте обновлённый вариант.

    [​IMG] 508587730__hddid.zip
     
  9. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Интересная штуковина. Единственное замечание: сделать чекбоксы Media characteristics в "disable", а то хочется понажимать.
     
  10. SolidCode

    SolidCode New Member

    Публикаций:
    0
    Регистрация:
    2 дек 2002
    Сообщения:
    162
    Адрес:
    Kazakhstan
    Я довольно долго ковырялся. Собирал разные способы определения различных накопителей.

    А чекбоксы будут серыми и некрасивыми, если их задисаблить. Как какие-то инвалиды.

    Под Win9X используются другие 3 метода.

    Хочу выложить здесь в исходниках. Довожу до ума строение кода и комментарии.