DeviceIOControl & cd-rom?

Тема в разделе "WASM.WIN32", создана пользователем RamMerLabs, 6 ноя 2006.

  1. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    Как, испотльзуя DeviceIOControl и букву cd-rom получить название производителя, версию прошивки?

    ЗЫ: только для cd-rom, веник не нужОн!
    ЗЗЫ: если можно, то дайте исходники, плз
    ЗЗЗЫ: лучше на асме
     
  2. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Можно получить эту информацию через ASPI. В книге Касперски cd-hack.SCSI.doc (можешь скачать у него на сайте) есть пример на С, который последовательно опрашивает все ATAPI устройства (сидюшники, в том числе) и выводит описание и версию прошивки.

    На самом деле в том коде есть ряд ошибок, но, если немного подумать, можно довести до рабочего состояния.

    Заметьте, что устройства опрашиваются по физическому адресу, а не по букве. Прямого способа узнать физ. адрес по букве нет, но есть парочка кривых (Неро один такой способ использует).
     
  3. RamMerLabs

    RamMerLabs Well-Known Member

    Публикаций:
    0
    Регистрация:
    11 сен 2006
    Сообщения:
    1.426
    Огромное СПАСИБО!
     
  4. Quantum

    Quantum Паладин дзена

    Публикаций:
    0
    Регистрация:
    6 янв 2003
    Сообщения:
    3.143
    Адрес:
    Ukraine
    Выкладываю немного менее глючный пример, чем у Криса в книге ;)

    Комментарии все на испанском, но можно сопоставить с комментариями в исходнике Криса.

    Требуется wnaspi32.dll, который можно получить установив ASPI32 (НЕ рекомендуется это делать на XP/2K) или скачать с сайта Nero: http://ww2.nero.com/nero6/eng/WNASPI32.DLL.html (этот рекомендуется, но требует админских прав, т.к. на самом деле является переходником к SPTI, притворяющимся ASPI :derisive: