Definición de una clase Notify
Las clases notify deben implementarse para que hereden de la interfaz INetCfgComponentControl . Sin embargo, si los objetos de notificación realizan determinadas operaciones, también deben implementarse sus clases de notificación para heredar de las interfaces siguientes:
Si un objeto notify realiza operaciones relacionadas con la instalación, actualización y eliminación del componente que posee el objeto, la clase de notificación asociada debe heredar de la interfaz INetCfgComponentSetup .
Si un objeto notify muestra páginas de propiedades personalizadas para el componente que posee el objeto, la clase de notificación asociada debe heredar de la interfaz INetCfgComponentPropertyUi .
Si un objeto notify evalúa los cambios en la forma en que el subsistema de configuración de red enlaza el componente que posee el objeto a otros componentes de red, la clase de notificación asociada debe heredar de la interfaz INetCfgComponentNotifyBinding .
Si un objeto notify evalúa los cambios en la configuración de red que podrían afectar al componente propietario del objeto, la clase de notificación asociada debe heredar de la interfaz INetCfgComponentNotifyGlobal .
Algunos miembros de datos de las clases de notificación deben definirse como comunes a todos los objetos de notificación. Determinados miembros de datos deben definirse como específicos de su componente. Los miembros de datos que deben definir todos los objetos de notificación incluyen:
Puntero a una instancia del componente de red que posee el objeto de tipo INetCfgComponent interfaz. Una instancia de un objeto notify usa este puntero para acceder al componente que posee el objeto y controlarlo.
Puntero a una instancia del objeto de configuración de red de tipo interfaz INetCfg . Una instancia de un objeto notify usa este puntero para acceder a todos los aspectos de la configuración de red.
Variables para almacenar información de parámetros para el componente que posee el objeto notify
Variable que especifica la acción que ha realizado previamente un objeto de notificación. Defina constantes para indicar las diferentes acciones que pueden realizar los objetos de notificación. Cuando el subsistema de configuración de red llama al método INetCfgComponentControl::ApplyRegistryChanges del objeto de notificación para aplicar cambios de configuración en el registro, ApplyRegistryChanges usa esta variable para determinar cómo realizar cambios en el Registro. Por ejemplo, si un objeto notify realizó anteriormente operaciones relacionadas con la instalación del componente que posee el objeto en su método INetCfgComponentSetup::Install , Install debe establecer esta variable para indicar la acción como instalación.
Clave del Registro de tipo HKEY. Un objeto notify llama al método INetCfgComponent::OpenParamKey del componente que posee el objeto para abrir y recuperar la clave del Registro que contiene parámetros para el componente. A continuación, el objeto notify establece el miembro HKEY en esa clave.
Defina un constructor y un destructor para la clase notify. Considere también la posibilidad de definir métodos privados que solo puede usar la clase notify.
Todos los métodos de interfaz IUnknown deben implementarse para una clase notify. Si una clase notify hereda de cualquiera de las interfaces opcionales indicadas en la lista anterior, se deben implementar todos los métodos de esas interfaces. Tenga en cuenta que E_NOTIMPL no es un tipo de valor devuelto válido para ninguno de los métodos de las interfaces de objeto de notificación. Si un objeto notify no requiere una implementación para un método determinado, simplemente implemente el método para devolver S_OK.