Definizione di una classe Notify
Le classi Notify devono essere implementate in modo che ereditino dall'interfaccia INetCfgComponentControl . Tuttavia, se gli oggetti notify 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'interfaccia INetCfgComponentSetup .
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 apportate 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 di notifica. Alcuni membri dati devono essere definiti come specifici del relativo componente. I membri dati che tutti gli oggetti 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 notificano gli oggetti potrebbero eseguire. Quando il sottosistema di configurazione di rete chiama il metodo INetCfgComponentControl::ApplyRegistryChanges dell'oggetto notify per applicare le modifiche di configurazione al Registro di sistema, ApplyRegistryChanges usa questa variabile per determinare come apportare modifiche al Registro di sistema. Ad esempio, se un oggetto notify ha eseguito in precedenza operazioni relative all'installazione del componente proprietario dell'oggetto nel metodo INetCfgComponentSetup::Install , Install deve impostare questa variabile per indicare l'azione come installazione.
Chiave del Registro di sistema 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. Prendere in considerazione 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 indicate nell'elenco precedente, tutti i metodi di tali interfacce devono essere implementati. Si noti che E_NOTIMPL non è un tipo restituito valido per nessuno dei metodi delle interfacce dell'oggetto notify. Se un oggetto notify non richiede un'implementazione per un metodo specifico, implementare semplicemente il metodo per restituire S_OK.