Шаг 152 - Что такое NDIS

NDIS это спецификация - Network Driver Interface Specification. Реализованная в виде NDIS.VXD то есть это спецификация универсального драйвера для сетевых карт. Подробнее о VXD читайте "Шаг 151 - Что такое VXD". Можно сказать наверно, что это самый низкий из доступных уровней для программиста. Ниже находиться только минидрайвер производителя. И сама сетевая карта. Выше уже находятся прикладные интерфейсы, такие как NetBios и WinSock. И опять кусочек готовящейся схемы по архитектуре ПО сети Windows.

152_1.gif (5262 b)

Эта модель была разработана в 1989 году Microsoft и 3Com для взаимодействия сетевых устройств и протоколов. Данная спецификация допускаем много адаптеров и много протоколов. И все таки можно ли работать с этим интерфейсом. Можно по правилам работы с VXD устройствами. Для этого используется функция CreateFile подробнее читайте "Шаг 165 - Получения дескриптора VXD" и потом полученному дескриптору передаются команды с помощью функции DeviceIoContorl о ней читайте "Шаг 166 - Функция DeviceIoControl". Могу сказать, что данный подход требует определенной квалификации. Тем кто программировал под MS DOS на assembler когда то должно быть многое понятно, так как данная методика напоминает вызов прерываний MS DOS (int). Процедура связи протокола с адаптером называется BINDING (связь). Храниться эта связь должна в PROTOCOL.INI. Так определяла одна из спецификаций NDIS на данный момент для Windows 9X эта информация хранится в реестре по пути:

HKEY_LOCAL_MACHINE\Enum\Network

152_2.gif (3003 b)

Вместе с описание протоколов.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 24.11.2001