Можно ли из драйвера использовать int 13h?

Тема в разделе "WASM.BEGINNERS", создана пользователем assorted, 20 окт 2006.

  1. assorted

    assorted New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    227
    1) Будет ли работать?
    2) Почему не будет? ;)
     
  2. censored

    censored New Member

    Публикаций:
    0
    Регистрация:
    5 июл 2005
    Сообщения:
    1.615
    Адрес:
    деревня "Анонимные Прокси"
    а подумать? :) и почитать что-нибудь о protmode? :)
     
  3. assorted

    assorted New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    227
    Но в порты же можно писать под ring0 ......
     
  4. assorted

    assorted New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    227
    Да... Вычитал что дисковый сервис BIOS int 13h работает только в real mode
     
  5. assorted

    assorted New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    227
    И как же быть? С секторами выходит нельзя напрямую работать даже из ring0 ?

    только через CreateFile("\\\\.\\PhysicalDrive0") ?
     
  6. n0name

    n0name New Member

    Публикаций:
    0
    Регистрация:
    5 июн 2004
    Сообщения:
    4.336
    Адрес:
    Russia
    Int 13h, это не напрямую.
     
  7. _BC_

    _BC_ БЦ

    Публикаций:
    0
    Регистрация:
    20 янв 2005
    Сообщения:
    759
    Вызывать int13h из драйвера можно, но, смотря из _какого_ драйвера. В win9x драйвер может вызывать nested execution-сервисы и вызывать прерывания DOS/BIOS соотв. функциями. Есть поддержка со стороны системы для вызова int13h из PM ring0 -- int13.vxd/biosxlat.vxd из vmm32.vxd, которые afair предоставляют трансляцию для int13h. Сама w9x c соотв. опциями может использовать (косвенно) биосовский int13h для работы с диском, включая и paging.
     
  8. assorted

    assorted New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    227
    _BC_ , спсибо за информацию.

    Но интересуеет именно nt\xp
    win9x давно умер
     
  9. cppasm

    cppasm New Member

    Публикаций:
    0
    Регистрация:
    18 июл 2006
    Сообщения:
    923
    Ну можно и в NT/XP левыми путями из RING0.
    Создать процесс, загрузить в него код с вызовом int_13h, пошаманить над TSS сделав процесс V86 задачей и запустить его.
    Но оно тебе надо?
    По моему из RING0 гораздо проще через порты работать с ATA/ATAPI.
     
  10. assorted

    assorted New Member

    Публикаций:
    0
    Регистрация:
    7 авг 2006
    Сообщения:
    227
    Точно! нашел сдесь статью - ATA для дZенствующих
     
  11. Ustus

    Ustus New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2005
    Сообщения:
    834
    Адрес:
    Харьков
    а если SATA?