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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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