Partager via


Définition d’une classe Notify

Les classes de notification doivent être implémentées afin qu’elles héritent de l’interface INetCfgComponentControl . Toutefois, si les objets de notification effectuent certaines opérations, leurs classes de notification doivent également être implémentées pour hériter des interfaces suivantes :

  • Si un objet notify effectue des opérations liées à l’installation, à la mise à niveau et à la suppression du composant propriétaire de l’objet, la classe notify associée doit hériter de l’interface INetCfgComponentSetup .

  • Si un objet notify affiche des pages de propriétés personnalisées pour le composant propriétaire de l’objet, la classe notify associée doit hériter de l’interface INetCfgComponentPropertyUi .

  • Si un objet notify évalue les modifications apportées à la façon dont le sous-système de configuration réseau lie le composant propriétaire de l’objet à d’autres composants réseau, la classe notify associée doit hériter de l’interface INetCfgComponentNotifyBinding .

  • Si un objet notify évalue les modifications apportées à la configuration réseau susceptibles d’affecter le composant propriétaire de l’objet, la classe notify associée doit hériter de l’interface INetCfgComponentNotifyGlobal .

Certains membres de données au sein des classes de notification doivent être définis comme communs à tous les objets de notification. Certains membres de données doivent être définis comme spécifiques à leur composant. Les membres de données que tous les objets de notification doivent définir sont les suivants :

  • Pointeur vers un instance du composant réseau qui possède l’objet de type INetCfgComponent interface. Un instance d’un objet de notification utilise ce pointeur pour accéder au composant propriétaire de l’objet et le contrôler.

  • Pointeur vers un instance de l’objet de configuration réseau de type interface INetCfg. Un instance d’un objet notify utilise ce pointeur pour accéder à tous les aspects de la configuration réseau.

  • Variables pour stocker les informations de paramètre pour le composant propriétaire de l’objet de notification

  • Variable qui spécifie l’action qu’un objet de notification a effectuée précédemment. Définissez des constantes pour indiquer les différentes actions que les objets de notification peuvent effectuer. Lorsque le sous-système de configuration réseau appelle la méthode INetCfgComponentControl::ApplyRegistryChanges de l’objet notify pour appliquer des modifications de configuration au Registre, ApplyRegistryChanges utilise cette variable pour déterminer comment apporter des modifications au Registre. Par exemple, si un objet de notification a précédemment effectué des opérations relatives à l’installation du composant propriétaire de l’objet dans sa méthode INetCfgComponentSetup::Install , Install doit définir cette variable pour indiquer l’action lors de l’installation.

  • Clé de Registre de type HKEY. Un objet notify appelle la méthode INetCfgComponent::OpenParamKey du composant propriétaire de l’objet pour ouvrir et récupérer la clé de Registre qui contient les paramètres du composant. L’objet notify définit ensuite le membre HKEY sur cette clé.

Définissez un constructeur et un destructeur pour votre classe notify. Envisagez également de définir des méthodes privées que seule la classe notify peut utiliser.

Toutes les méthodes d’interface IUnknown doivent être implémentées pour une classe notify. Si une classe notify hérite de l’une des interfaces facultatives indiquées dans la liste précédente, toutes les méthodes de ces interfaces doivent être implémentées. Notez que E_NOTIMPL n’est pas un type de retour valide pour les méthodes des interfaces d’objet de notification. Si un objet notify ne nécessite pas d’implémentation pour une méthode particulière, implémentez simplement la méthode pour retourner S_OK.