Inizializzazione di un provider
Una delle prime attività che è necessario codificare per un provider è il processo di inizializzazione, che copre tutte le attività che il provider deve eseguire che consente di inviare e ricevere informazioni da WMI, controllare un oggetto gestito ed eseguire altre attività. Ogni tipo di provider ha un set diverso di attività che deve eseguire e ha un set di interfacce univoche a corredo.
Tuttavia, tutti i provider vengono inizializzati tramite l'interfacciaIWbemProviderInite informano WMI del relativo stato di inizializzazione tramite l'interfaccia IWbemProviderInitSink.
La procedura seguente descrive come inizializzare un provider.
Inizializzare un provider
Implementare IWbemProviderInit::Initialize per il tuo provider.
Quando WMI determina che un client richiede i servizi di un provider, WMI carica il provider chiamando il metodo IWbemProviderInit::Initialize.
Implementare qualsiasi interfaccia univoca per il tipo di provider.
Informare WMI che il provider ha concluso l'inizializzazione chiamando IWbemProviderInitSink::SetStatus.
Tutte le implementazioni di IWbemProviderInit::Initialize devono chiamare IWbemProviderInitSink::SetStatus per segnalare lo stato di inizializzazione a WMI. Il metodo SetStatus consente a WMI di determinare se un provider è pronto per ricevere le richieste e il tipo di richieste che il provider è pronto per la ricezione.
La procedura seguente descrive come segnalare un'inizializzazione corretta.
Per segnalare un di inizializzazione riuscita
Impostare il parametro IStatus di SetStatus su WBEM_S_INITIALIZED.
Restituendo WBEM_S_INITIALIZED, un provider indica l'idoneità per gestire le richieste da applicazioni, WMI e altri provider. Dopo aver ricevuto WBEM_S_INITIALIZED, WMI effettua una chiamata al metodo IWbemProviderInit::QueryInterface nel provider. Questa query recupera un puntatore all'interfaccia principale del provider.
La procedura seguente descrive come segnalare un errore durante l'inizializzazione.
Per segnalare un errore durante l'inizializzazione
Impostare il parametro IStatus di SetStatus su WBEM_E_FAILED. WMI considera i provider delle viste che restituiscono WBEM_E_FAILED come non funzionanti.
WMI rilascia il puntatore IWbemProviderInit dopo che WMI ha ottenuto un puntatore all'interfaccia primaria del provider o dopo che l'inizializzazione non è riuscita.
Argomenti correlati