Delen via


De High-Performance-interface implementeren

Omdat WMI een krachtige provider in het proces laadt naar WMI of een clienttoepassing, moet u uw provider met hoge prestaties ontwerpen als een in-process server. Daarnaast moet u de krachtige providermethoden implementeren in de IWbemHiPerfProvider en IWbemRefresher interfaces.

U moet een provider met hoge prestaties implementeren als een in-process server. Een functie waar u rekening mee moet houden bij het implementeren van de beveiliging van een in-process server is hoe de provider een eigen locatie identificeert. Wanneer deze in het proces naar WMI wordt geladen, instanteert WMI de provider met behulp van een CLSID. Wanneer het in een clienttoepassing wordt geladen, instantiateert de clienttoepassing de provider met de eigenschap ClientLoadableCLSID. Door verschillende waarden toe te staan aan een CLSID en ClientLoadableCLSID, staat u de provider toe om te bepalen of deze in het proces naar WMI of naar een clienttoepassing wordt geladen. Als de provider zich in een WMI-proces bevindt, moet hij alle benodigde clientimpersonatie uitvoeren met behulp van ClientLoadableCLSID. Als deze zich in een clientproces bevindt, neemt de provider het toegangstoken over van de thread die wordt aangeroepen. Zie de documentatie Component Object Model (COM) voor meer informatie over het implementeren van een in-process server.

Als een in-process server gebruikt een provider met hoge prestaties een vernieuwingsobject om gegevens actueel te houden voor de externe client. De volgende tabel bevat methoden die u moet implementeren voor een provider met hoge prestaties.

Methode Kenmerk
IWbemHiPerfProvider::QueryInstances Query's
IWbemHiPerfProvider::GetObjects Object ophalen
IWbemHiPerfProvider::CreateRefresher Creëert een vernieuwing
IWbemHiPerfProvider::CreateRefreshableObject Hiermee maakt u een vernieuwingsbaar exemplaarobject
IWbemHiPerfProvider::CreateRefreshableEnum Maakt een vernieuwbare enumerator aan
IWbemHiPerfProvider::StopRefreshing Hiermee wordt het vernieuwen van een enumerator of exemplaarobject gestopt
IWbemRefresher::Refresh Creëert een vernieuwer

 

Het maken van een exemplaarprovider tot een High-Performance-provider