Delen via


Een provider initialiseren

Een van de eerste taken die u moet codeeren voor een provider is het initialisatieproces, dat betrekking heeft op alle taken die uw provider moet uitvoeren om gegevens van WMI te verzenden en te ontvangen, een beheerd object te beheren en andere taken uit te voeren. Elk type provider heeft een andere set taken die moet worden uitgevoerd en een bijbehorende set unieke interfaces heeft.

Alle providers initialiseren echter via de interface IWbemProviderInit en informeren WMI over de initialisatiestatus via de IWbemProviderInitSink interface.

In de volgende procedure wordt beschreven hoe u een provider initialiseert.

Een provider initialiseren

  1. Implementeer IWbemProviderInit::Initialiseer voor uw provider.

    Wanneer WMI bepaalt dat een client de services van een provider vereist, laadt WMI de provider door de methode IWbemProviderInit::Initialize aan te roepen.

  2. Implementeer interfaces die uniek zijn voor uw type provider.

  3. Informeer WMI dat uw provider klaar is met initialisatie door IWbemProviderInitSink::SetStatusaan te roepen.

    Alle implementaties van IWbemProviderInit::Initialize moeten IWbemProviderInitSink::SetStatus aanroepen om de initialisatiestatus aan WMI te rapporteren. Met de methode SetStatus kan WMI bepalen of een provider gereed is voor het ontvangen van aanvragen en het type aanvragen dat de provider kan ontvangen.

In de volgende procedure wordt beschreven hoe u een geslaagde initialisatie rapporteert.

Een geslaagde initialisatie rapporteren

  • Stel de parameter IStatus van SetStatus in op WBEM_S_INITIALIZED.

    Door WBEM_S_INITIALIZEDte retourneren, geeft een provider een gereedheid aan voor het afhandelen van aanvragen van toepassingen, WMI en andere providers. Na ontvangst van WBEM_S_INITIALIZED roept WMI de methode IWbemProviderInit::QueryInterface op de provider aan. Met deze query wordt een aanwijzer opgehaald naar de primaire interface van de provider.

In de volgende procedure wordt beschreven hoe u een fout rapporteert tijdens de initialisatie.

Een fout melden tijdens de initialisatie

  • Stel de parameter IStatus van SetStatus in op WBEM_E_FAILED. WMI-weergaveproviders die WBEM_E_FAILED retourneren als niet functioneel.

    WMI publiceert de IWbemProviderInit aanwijzer nadat WMI een aanwijzer heeft verkregen naar de primaire interface van de provider of nadat de initialisatie is mislukt.

een WMI-provider ontwikkelen

Naamruimtebeveiligingsdescriptoren instellen

uw provider beveiligen