Skriva en instansleverantör
En instansprovider tillhandahåller instanser av en eller flera angivna klasser. En instansprovider kan till exempel ange information om en processor eller annan typ av maskinvara. Eftersom objekten som hanteras av en instansprovider tenderar att ändras regelbundet betraktas alla instansprovidrar som pull-leverantörer. en provider som dynamiskt hämtar information om ett hanterat objekt när WMI begär informationen. Namnet kommer från tanken att WMI "hämtar" information från providern på uppdrag av en klientförfrågan. Med hjälp av pull-teknik kan en instansprovider stödja hämtning, uppräkning, ändring, borttagning och frågebearbetning av en specifik instans.
Högpresterande leverantörer kan öka effektiviteten hos en instansprovider eller programmatiskt komma åt data som visas i System Monitor. Mer information finns i Att göra en instansprovider till en High-Performance-provider.
Följande procedur beskriver hur du skriver en instansprovider.
Att skriva en instansleverantör
Registrera din provider med WMI.
Instansprovidrar registrerar sig med WMI genom att skapa en __Win32Provider-instans och en __InstanceProviderRegistration-klass.
-
WMI använder IWbemProviderInit för att läsa in och initiera en provider. Det här är en uppgift som är gemensam för alla leverantörer.
Notera
Instansprovidrar uppmanas starkt att använda multitrådningsmodellen "Båda".
Implementera IWbemServices-gränssnittet för din provider.
Gränssnittet IWbemServices är det primära gränssnittet för en instansprovider.
Lägg till eventuell ytterligare kod som krävs för din provider.
När du utformar din tjänstleverantör kommer du förmodligen behöva anropa WMI-gränssnitt. För mer information, se Göra anrop till WMI.
När du hämtar information för en klient kan du behöva komma åt säkerhetsnivåerna för klienten. Mer information finns i Personifiera en klient.
Om det behövs implementera högprestandagränssnittet.
Gränssnittet med höga prestanda ökar hastigheten med vilken providern kan reagera på begäranden från WMI.
Om det behövs implementera stöd för partiella instansuppdateringar.
Som namnet antyder är en partiell instansuppdatering en teknik som endast används för att uppdatera en del av en instans. Mer information om hur du anropar en partiell instans från en klient finns i Uppdatera en del av en instans och Hämta en del av en WMI-instans.
Ersätt den befintliga providern med din nya kod.
Du behöver inte utföra det här steget om du inte har någon befintlig provider att kopiera över. Mer information finns i Uppdatera en leverantör.