Condividi tramite


Definizione di una classe Notify

Le classi Notify devono essere implementate in modo che ereditino dall'interfacciaINetCfgComponentControl. Tuttavia, se gli oggetti di notifica eseguono determinate operazioni, è necessario implementare anche le classi di notifica per ereditare dalle interfacce seguenti:

  • Se un oggetto notify esegue operazioni correlate all'installazione, all'aggiornamento e alla rimozione del componente proprietario dell'oggetto , la classe notify associata deve ereditare dall'interfacciaINetCfgComponentSetup.

  • Se un oggetto notify visualizza pagine di proprietà personalizzate per il componente proprietario dell'oggetto , la classe notify associata deve ereditare dall'interfaccia INetCfgComponentPropertyUi.

  • Se un oggetto notify valuta le modifiche al modo in cui il sottosistema di configurazione di rete associa il componente proprietario dell'oggetto ad altri componenti di rete, la classe notify associata deve ereditare dall'interfaccia INetCfgComponentNotifyBinding.

  • Se un oggetto notify valuta le modifiche apportate alla configurazione di rete che potrebbero influire sul componente proprietario dell'oggetto, la classe notify associata deve ereditare dall'interfaccia INetCfgComponentNotifyGlobal.

Alcuni membri dati all'interno delle classi notify devono essere definiti come comuni a tutti gli oggetti notify. Alcuni membri dati devono essere definiti come specifici del relativo componente. I membri dati che tutti gli oggetti di notifica devono definire includono:

  • Puntatore a un'istanza del componente di rete proprietario dell'oggetto di tipo interfaccia INetCfgComponent. Un'istanza di un oggetto notify usa questo puntatore per accedere e controllare il componente proprietario dell'oggetto.

  • Puntatore a un'istanza dell'oggetto di configurazione di rete di tipo interfaccia INetCfg. Un'istanza di un oggetto notify usa questo puntatore per accedere a tutti gli aspetti della configurazione di rete.

  • Variabili per archiviare le informazioni sui parametri per il componente proprietario dell'oggetto notify

  • Variabile che specifica l'azione eseguita in precedenza da un oggetto notify. Definire costanti per indicare le diverse azioni che gli oggetti notificanti potrebbero eseguire. Quando il sottosistema di configurazione di rete chiama il metodo INetCfgComponentControl::ApplyRegistryChanges per applicare le modifiche di configurazione al Registro di sistema, ApplyRegistryChanges utilizza questa variabile per determinare come apportare le modifiche al Registro di sistema. Ad esempio, se un oggetto notify in precedenza ha eseguito operazioni relative all'installazione del componente di cui l'oggetto è proprietario nel metodo INetCfgComponentSetup::Install, allora Install dovrebbe impostare questa variabile per indicare l'azione come installazione.

  • Chiave di registro di tipo HKEY. Un oggetto notify chiama il metodo INetCfgComponent::OpenParamKey del componente proprietario dell'oggetto per aprire e recuperare la chiave del Registro di sistema che contiene parametri per il componente. L'oggetto notify imposta quindi il membro HKEY su tale chiave.

Definire un costruttore e un distruttore per la classe notify. Considerare anche la definizione di metodi privati che possono essere usati solo dalla classe notify.

Tutti i metodi di interfaccia IUnknown devono essere implementati per una classe notify. Se una classe notify eredita da una qualsiasi delle interfacce facoltative annotate nell'elenco precedente, è necessario implementare tutti i metodi di tali interfacce. Si noti che E_NOTIMPL non è un tipo di ritorno valido per nessuno dei metodi delle interfacce dell'oggetto di notifica. Se un oggetto notify non richiede un'implementazione per un metodo specifico, è sufficiente implementare il metodo per restituire S_OK.