Ndis Miniport для Windows 98
От: sergmann  
Дата: 17.12.07 17:24
Оценка:
Добрый вечер!

Необходимо портировать под Win 98 Ndis miniport driver, работающий под платформами >= Windows NT SP4. К сожалению, такие задачи ещё встречаются .
Как я выяснил NDIS 5.0 входит в состав Windows 98. Для сборки драйвера я поставил DDK 98 и попробовал скомпилить — сразу получил кучу ошибок на тему NDIS. При этом, в DDK Help, поставляемом с DDK 98, написано, что за информацией по NDIS обращайтесь к Win2000 DDK. В связи с этим возник вопрос: как правильно собирать Ndis miniport driver для Win 98 — из под DDK 98 или из под Win2000 DDK?
По поводу различий между NDIS в 98 и 2000 я нашёл только одну статейку (http://support.microsoft.com/kb/198582), там перечислено не так много различий, но при сборке из под DDK 98 у меня повылазило куча undefine-ов, не упомянутых в этой статье.
Знающие Люди, посоветуйте, пожалуйста, как правильно осуществлять такую сборку! Спасибо!
Serg
Re: Ndis Miniport для Windows 98
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 19.12.07 05:20
Оценка:
Здравствуйте, sergmann, Вы писали:

S>По поводу различий между NDIS в 98 и 2000 я нашёл только одну статейку (http://support.microsoft.com/kb/198582), там перечислено не так много различий, но при сборке из под DDK 98 у меня повылазило куча undefine-ов, не упомянутых в этой статье.


А попробовать собрать стандартный драйвер под DDK 2000, и подсунуть его под 98? В отношении WDM-драйверов тоже везде написано, что они отличаются, и надо обязательно делать разные бинарники под 98 и 2k/XP, но грамотно сделанный и собранный драйвер отлично работает и там, и там.

NDIS-драйверы под 98 грузить не пробовал, поэтому только предполагаю.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: Ndis Miniport для Windows 98
От: sergmann  
Дата: 19.12.07 10:35
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>А попробовать собрать стандартный драйвер под DDK 2000, и подсунуть его под 98? В отношении WDM-драйверов тоже везде написано, что они отличаются, и надо обязательно делать разные бинарники под 98 и 2k/XP, но грамотно сделанный и собранный драйвер отлично работает и там, и там.


Сейчас бьюсь над этой задачей ... пытаюсь установить под 98 простейший Miniport, собранный для W2k. Пока не удаётся установить драйвер при помощи inf — файла (у меня был inf-файл для W2k, я его немного поправил), система пишет — "В указанной папке сведения об оборудовании отсутствуют". Пока не могу понять причину такого сообщения.
Serg
Re[3]: Ndis Miniport для Windows 98
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 19.12.07 10:47
Оценка:
Здравствуйте, sergmann, Вы писали:

S>Пока не удаётся установить драйвер при помощи inf — файла


А вот методы установки там, как помнится, кардинально различны. Тут надо почитать DDK.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: Ndis Miniport для Windows 98
От: sergmann  
Дата: 19.12.07 19:06
Оценка:
Здравствуйте, Евгений Музыченко, Вы писали:

ЕМ>Здравствуйте, sergmann, Вы писали:


S>>Пока не удаётся установить драйвер при помощи inf — файла


ЕМ>А вот методы установки там, как помнится, кардинально различны. Тут надо почитать DDK.


Уйму времени сегодня убил, пытаясь проинсталлировать простейший Miniport при помощи inf-файла, всё перепробовал — пишет ошибку и всё ... в итоге оказалось, что загвоздка была в регистре букв (имя драйвера). Меня осенило, когда увидел, что все имена драйверов в ..\system32\drivers в верхнем регистре ... сказывается отсутствие какого-либо опыта под Win9x. Теперь не отрабатывает DriverEntry, завершается с ошибкой — "функционал не поддерживается". Завтра буду разбираться, похоже, что Ndis5 там просто так не работает (на сайте майкрософт указано, что Ndis5 включена в Windows98), придётся разбираться как правильно заставить работать Ndis5 в Win98.
Serg
Re[4]: Ndis Miniport для Windows 98
От: sergmann  
Дата: 24.12.07 19:21
Оценка:
А как в Windows 98 выполнить инсталляцию виртуального минипорта. В 2000 в inf файле указываем Characteristics = 0x1 (NCF_VIRTUAL). В 98-ом DDk в разделе inf нет такого параметра, поэтому, видимо, система отказывается грузить зарегистрированный NDIS miniport драйвер.
Serg
Re[5]: Ndis Miniport для Windows 98
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 25.12.07 01:48
Оценка:
Здравствуйте, sergmann, Вы писали:

S> А как в Windows 98 выполнить инсталляцию виртуального минипорта.


Не в курсе. Попробуйте посмотреть, как там оформлен Microsoft Virtual Private Networking Adapter.
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: Ndis Miniport для Windows 98
От: sergmann  
Дата: 27.12.07 15:15
Оценка: 16 (1)
Если вдруг кому-то понадобится ответ на вопрос темы, то информирую о своих результатах.

В результате длительных экспериментов мне удалось портировать урезанную (выброшены некоторые неразрешённые ссылки) версию сэмпла NETVMINI (шаблон виртуального NDIS минипорта) из DDK_Server_2003_SP1. Работоспособность проверялась пока только в Windows 98SE.

Для сборки я использовал:
Windows 2000 DDK;
Visual Studio 6.0.

Сборка драйвера осуществляется из Windows ME build environment (входит в DDK 2000).
Инсталляционный Inf-файл почти полностью аналогичен inf-у из примера VPacket, включенного в DDK 98.
Для сборки необходимо подключить wdm.lib и ndis.lib из DDK 2000.
Для отладки можно использовать SoftIce из Driver Studio 2.7 (не выше).
Serg
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.