Связь между сетевыми программными компонентами
В Windows NT различные сетевые программные компоненты
связаны в определенной логической иерархии. Например, каждый драйвер транспорта
может быть связан с одним или более сетевым адаптером через соответствующие
драйверы сетевых карт. Сетевые компоненты более высокого уровня, такие
как редиректор, могут быть связаны с одним или несколькими драйверами
транспорта.
При установке сетевых компонентов информация о них записывается в реестр
Windows NT, который описывает порядок, в котором сетевые компоненты должны
загружаться, и как они должны быть связаны друг с другом. Приложением,
которое управляет установкой и связыванием сетевых компонентов, является
Network Control Panel Application (NCPA).
При установке сетевого компонента NCPA ищет специальный файл с расширением
.inf в разделе, определенном пользователем. Если устанавливаемый сетевой
драйвер не поставляется вместе с Windows NT, то разработчик этого драйвера
должен поставлять файл oemsetup.inf, содержащий сценарий и правила установки
драйвера.
После компиляции и исполнения .inf файла NCPA проводит анализ того, как
данная сетевая компонента должна быть связана с другими компонентами,
используя правила RawRules и NetRules. RawRules - правила по умолчанию,
определяемые системой, и хранимые в реестре в ключе HKEY_LOCAL_ MACHINE
\ SOFTWARE \ Microsoft \ Ncpa \ CurrentVersion \ RawRules. Правила NetRules
- правила, определяемые разработчиками, и специфичные для данной компоненты,
они содержатся в только что созданном при установке сетевой компоненты
ключе HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ <имя сетевой компоненты>
\ CurrentVersion \ NetRules.
В конце этого процесса NCPA создаст (или обновит) ключ HKEY_LOCAL_ MACHINE
\ SYSTEM \ CurrentControlSet \ Services \ <имя сетевой компоненты^
\ Linkage.
NCPA включает следующие поля в этот ключ:
Bind. Список имен устройств сетевых компонент, с которыми
данная сетевая компонента будет связана.
Export. Список имен объектов-устройств, которые будут
добавлены в пространство имен объектов Windows NT, чтобы сделать возможным
доступ к этой компоненте. Этот список содержит по одному имени объекта-устройства
для каждой компоненты, с которой данная компонента будет связана внизу.
Route. Содержит список строк, где каждая строка показывает
точный путь в стеке сетевых компонент.
После того как NCPA создаст все возможные связи, пользователь
может, используя диалоговое окно Bindings в NCPA, Посмотреть результирующие
привязки и, если
необходимо, блокировать (или разрешить) некоторые привязки. Это вызовет
удаление (или восстановление) соответствующих значений в поле Bind подключа
Linkage выбранной сетевой компоненты.
При загрузке ОС контроллер сервисов использует информацию в реестре для
загрузки сетевых компонентов согласно иерархии связей. Во время инициализации
сетевой компонент может определить, к каким компонентам более низкого
уровня ему нужно привязаться, прочитав из ключа реестра Linkage значения
поля Bind. |