RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Ответить на сообщение
Имя:
e-mail:
FIDO:
Home page:
сохранить данные о вас
Тема:
> > > >Там другая кривость: сколько placeholders вобьёшь, столько по максимуму девайсов и будет. > > > Это не совсем так. Хидеры можно создавать динамически, но только до initcomplete. Потом кернель пробежит цепочку драйверов и все найденные имена забьет в файловую систему. И собственно после этого цепочка хидеров кернелом не используется, все DosOpen/Close/IOCtl функи разруливаются на уровне виртуальной файлухи. Вообще зря это уродство не оторвали. > > Верю. Может раньше иначе было? Потому что в старых дровах, что я видел, всё в статике было, только обрубали её на той записи, на которой железо кончалось. > > Я не смотрел древние кернелы, в мерлине так сделано. В структуре заголовка есть полудокументированные поля ProtDS, ProtCS и т.д. Которые в половине описаний отмечены как reserved. Вот оттуда собственно кернел и берет значения для DS и CS при обращении к драйверу. Ничего не мешает выделить память девхелпом и структуру заполнить соответственно, установив эти поля на сегменты драйвера. > Почему в дровах делают в статике - видимо легче заложить 16 плейсхолдеров, чем создавать в динамике. А может есть какие-то заморочки, которые я не углядел.
_, _, _,
/ \ (_ / ~ )
\ / , ) / /
~ ~ ~~~
Programmed by
Dmitri Maximovich
,
Dmitry I. Platonoff
,
Eugen Kuleshov
.
25.09.99 (c) 1999,
RU/2
. All rights reserved.
Rewritten by
Dmitry Ban
. All rights ignored.