安装、升级和删除组件

当网络配置子系统安装、升级或删除网络组件时,子系统也会调用组件的通知对象来完成安装、升级和删除。 组件的通知对象可用于实现组件可能需要的操作。 例如:

  • 可以实现虚拟 LAN 的多路复用器通知对象,以便在子系统安装多路复用器时,通知对象将安装多路复用器协议绑定到的虚拟适配器。

    要安装虚拟适配器,通知对象会调用网络配置的 INetCfgClassSetup::Install 方法。 在此调用中,通知对象会传递要安装的虚拟适配器的标识符。 例如,通知对象可从其 INetCfgComponentNotifyBinding::NotifyBindingPathINetCfgComponentPropertyUi::ApplyProperties 方法中调用 INetCfgClassSetup::Install 方法。

    要完成虚拟适配器的安装,操作系统需要虚拟适配器的 INF 文件。 为确保找到 INF 文件,必须在安装多路复用器时将其复制到操作系统中。 有关详细信息,请参阅复制 INF。 本主题指出,共同安装程序或设置应用程序可以使用 CopyINF 指令或调用 SetupCopyOEMInf 函数将 INF 文件复制到目标系统的 INF 目录。 但是,如果使用 SetupCopyOEMInf 复制了多路复用器的 INF 文件(原始 INF),那么还必须使用 SetupCopyOEMInf 复制虚拟适配器的 INF 文件,因为操作系统只在原始 INF 尚未位于 INF 目录中时才会处理 CopyINF 指令。

  • 可以实现多路复用器通知对象,以便在子系统删除多路复用器时,通知对象将删除所有虚拟适配器。 要删除虚拟适配器,通知对象会调用网络配置的 INetCfgClassSetup::DeInstall 方法。 在此调用中,通知对象会传递指向虚拟适配器 INetCfgComponent 接口的指针。 例如,通知对象可从其 INetCfgComponentNotifyBinding::NotifyBindingPathINetCfgComponentPropertyUi::ApplyProperties 方法中调用 INetCfgClassSetup::DeInstall 方法。

  • 可以实现组件的通知对象,以便在子系统升级组件时,通知对象将更改组件绑定路径的顺序。 要更改此顺序,通知对象的 INetCfgComponentSetup::Upgrade 方法会调用 INetCfgComponentBindings::MoveBeforeINetCfgComponentBindings::MoveAfter 方法。