Share via


Inizializzazione di un provider

Una delle prime attività necessarie 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.

Tuttavia, tutti i provider inizializzano tramite l'interfaccia IWbemProviderInit e informano WMI dello stato di inizializzazione tramite l'interfaccia IWbemProviderInitSink .

La procedura seguente descrive come inizializzare un provider.

Per inizializzare un provider

  1. Implementare IWbemProviderInit::Initialize per il provider.

    Quando WMI determina che un client richiede i servizi di un provider, WMI carica il provider chiamando il metodo IWbemProviderInit::Initialize .

  2. Implementare qualsiasi interfaccia univoca per il tipo di provider.

  3. Informare WMI che il provider viene completato con 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 richieste e il tipo di richieste che il provider è pronto per la ricezione.

La procedura seguente descrive come segnalare un'inizializzazione riuscita.

Per segnalare un'inizializzazione riuscita

  • Impostare il parametro IStatus di SetStatus su WBEM_S_INITIALIZED.

    Restituisce WBEM_S_INITIALIZED, un provider indica un'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 primaria 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. Provider di viste WMI che restituiscono WBEM_E_FAILED come non funzionali.

    WMI rilascia il puntatore IWbemProviderInit dopo che WMI ha ottenuto un puntatore all'interfaccia primaria del provider o dopo l'inizializzazione non riuscita.

Sviluppo di un provider WMI

Impostazione dei descrittori di sicurezza Namepace

Protezione del provider