RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : ... и всякое такое


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : LightElf
To : Slavik Gnatenko
Subj : ... и всякое такое

> > в смысле - возможность засунуть несколько драйверов в один файл, она зачем ?

Есть несколько причин. Может потребоваться иметь несколько имен для одного физического устройства. Может потребоваться иметь несколько разных драйверов внутри одного файла, чтобы не заморачиваться с порядком загрузки их из конфига (например uniaud так сделан).

> А что тебя смущает? Всякие com.sys/sio.sys используют. Поддерживать несколько девайсов одним экземпляром драйвера всяко проще и менее ресурсоёмко, чем грузить по экземпляру на каждый девайс. Там другая кривость: сколько placeholders вобьёшь, столько по максимуму девайсов и будет.

Это не совсем так. Хидеры можно создавать динамически, но только до initcomplete. Потом кернель пробежит цепочку драйверов и все найденные имена забьет в файловую систему. И собственно после этого цепочка хидеров кернелом не используется, все DosOpen/Close/IOCtl функи разруливаются на уровне виртуальной файлухи. Вообще зря это уродство не оторвали.


Mon 28 Jul 2008 21:58 Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.8.0.1)




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.