Поделиться через


Установка сетевых компонентов

Сетевые компоненты устанавливаются подсистемой конфигурации сети.

Чтобы создать пакет драйвера с объектом уведомления, который выполняется из хранилища драйверов, необходимо иметь минимальный номер сборки ОС 25341. В этом сценарии невозможно установить пакет драйверов в более ранних версиях Windows.

Установка сетевого компонента

  1. Подсистема конфигурации сети вызывает установщик класса для конкретного типа компонента. Затем установщик класса вызывает API установки для получения сведений из INF-файла компонента и установки компонента.

    Если компонент является владельцем объекта уведомления, установщик класса получает имя библиотеки DLL, в которую размещен объект notify. Эта библиотека DLL отображается в INF-файле компонента следующим образом:

    HKR, Ndi, ComponentDll,     0,     "notifyobject.dll"
    

    Установщик класса вызывает функцию точки входа библиотеки DLL для регистрации объекта notify. Подсистема конфигурации сети создает экземпляр объекта notify и вызывает метод INetCfgComponentControl::Initialize объекта. Этот метод инициализирует объект и предоставляет доступ к компоненту и всем аспектам конфигурации сети.

  2. Для выполнения операций, необходимых для установки компонента, подсистема конфигурации сети вызывает метод INetCfgComponentSetup::Install объекта уведомления.

    Если установка компонента выполняется автоматически, подсистема конфигурации сети вызывает метод INetCfgComponentSetup объекта notify::ReadAnswerFile . Этот метод открывает и извлекает параметры компонента из файла автоматической установки, известного как файл ответов.

  3. После того как подсистема конфигурации сети создает экземпляр и инициализирует объект notify, подсистема вызывает метод INetCfgComponentNotifyGlobal::GetSupportedNotifications объекта notify для получения типов уведомлений, необходимых объекту. Подсистема использует эти сведения для отправки необходимых уведомлений в объект . Объект может использовать эти уведомления для управления аспектами настройки и конфигурации сети, которые могут повлиять на компонент, которому принадлежит объект. Например, если подсистема вызывает метод INetCfgComponentNotifyGlobal::SysNotifyComponent для уведомления объекта о том, что подсистема установила или удалила другой сетевой компонент, объект имеет возможность выполнять операции, связанные с изменением.

    После того как подсистема конфигурации сети создает экземпляр и инициализирует объект уведомления, подсистема также вызывает любой из методов интерфейса INetCfgComponentNotifyBinding объекта уведомления, чтобы уведомить объект об изменениях в способе привязки подсистемой других сетевых компонентов к компоненту, которому принадлежит объект notify.

  4. Когда подсистема конфигурации сети будет готова применить свойства компонента к операционной системе, она вызывает метод INetCfgComponentControl::ApplyRegistryChanges объекта notify для назначения параметров компонента в разделе реестра компонента. Объект notify вызывает метод INetCfgComponent::OpenParamKey своего компонента, чтобы открыть и получить раздел реестра компонента.

  5. Чтобы настроить драйвер компонента, подсистема конфигурации сети вызывает метод INetCfgComponentControl::ApplyPnpChanges объекта уведомления и передает интерфейс INetCfgPnpReconfigCallback . Объект notify вызывает метод INetCfgPnpReconfigCallback::SendPnpReconfig для отправки сведений о конфигурации в драйвер компонента.

Дополнительные сведения об API установки и файлах для автоматической установки см. в Microsoft Windows SDK.