定义通知类
必须实现通知类,以便它们继承自 INetCfgComponentControl 接口。 但是,如果 notify 对象执行某些操作,则其通知类也必须实现以继承自以下接口:
如果 notify 对象执行与安装、升级和删除拥有该对象的组件相关的操作,则关联的 notify 类必须继承自 INetCfgComponentSetup 接口。
如果 notify 对象显示拥有该对象的组件的自定义属性页,则关联的通知类必须继承自 INetCfgComponentPropertyUi 接口。
如果通知对象评估网络配置子系统将拥有该对象的组件绑定到其他网络组件的方式的更改,则关联的通知类必须继承自 INetCfgComponentNotifyBinding 接口。
如果 notify 对象评估了可能影响拥有对象的组件的网络配置更改,则关联的通知类必须继承自 INetCfgComponentNotifyGlobal 接口。
通知类中的某些数据成员应定义为所有通知对象通用的。 某些数据成员应定义为特定于其组件。 所有通知对象都应定义的数据成员包括:
指向拥有 INetCfgComponent 接口类型的对象的网络组件的实例的指针。 notify 对象的实例使用此指针访问和控制拥有该对象的组件。
指向 INetCfg 接口类型的网络配置对象的实例的指针。 notify 对象的实例使用此指针访问网络配置的所有方面。
用于存储拥有 notify 对象的组件的参数信息的变量
一个变量,指定通知对象之前执行的操作。 定义常量以指示通知对象可能执行的不同操作。 当网络配置子系统调用 notify 对象的 INetCfgComponentControl::ApplyRegistryChanges 方法将配置更改应用到注册表时, ApplyRegistryChanges 使用此变量来确定如何进行注册表更改。 例如,如果通知对象之前执行了与在其 INetCfgComponentSetup::Install 方法中安装拥有该对象的组件相关的操作, 则 Install 应设置此变量以指示操作为 install。
HKEY 类型的注册表项。 通知对象调用拥有 对象的组件的 INetCfgComponent::OpenParamKey 方法,以打开并检索包含组件参数的注册表项。 然后,通知对象将 HKEY 成员设置为该键。
定义通知类的构造函数和析构函数。 另请考虑定义只有通知类可以使用的专用方法。
应为通知类实现所有 IUnknown 接口方法。 如果通知类继承自上述列表中任何可选接口,则必须实现这些接口的所有方法。 请注意,E_NOTIMPL不是通知对象接口的任何方法的有效返回类型。 如果通知对象不需要特定方法的实现,只需实现 方法即可返回S_OK。