Delen via


COM-API voor WMI

U kunt de COM-API (WMI Component Object Model) gebruiken om clienttoepassingen voor beheer te schrijven of een nieuwe WMI-provider te maken. De COM API-naslaginformatie biedt informatie voor geavanceerde systeembeheerders, evenals ontwikkelaars die client- en providertoepassingen schrijven.

Zie Een WMI-toepassing maken met C++voor meer informatie over het schrijven van WMI-bedrijfsbeheertoepassingen. Zie Gegevens verstrekken aan WMI-voor meer informatie over het schrijven van een WMI-provider.

Notitie

WMI biedt alleen ondersteuning voor C++-ontwikkeling met Microsoft Visual C++ versie 6.0 en latere ontwikkelsystemen. U kunt echter ook andere compilers zoals die van Borland en Watcom gebruiken.

 

Elk van de verschillende WMI-objecten neemt over van een interface die uiteindelijk is overgenomen van de IUnknown interface. COM bepaalt hoe object implementeerfuncties of interfaces taken verwerken, zoals geheugenbeheer, parameterbeheer en multithreading. Door te voldoen aan COM, zorgt de COM-API voor WMI ervoor dat deze de functionaliteit ondersteunt die wordt geboden door de interfaces van elk WMI-object.

WMI wordt geopend via de volgende WMI-specifieke COM-interfaces.

Interface Beschrijving
IEnumWbemClassObject Enumerator die werkt met objecten van het type IWbemClassObject. Het is vergelijkbaar met standaard COM-opsommingen, zoals IEnumVariant.
IMofCompiler- Deze interface is geïmplementeerd door Mofd.dllen biedt een COM-interface die wordt gebruikt door de MOF-compiler en andere toepassingen die MOF-bestanden compileren.
IUnsecuredApartment Wordt gebruikt om het proces van het maken van asynchrone aanroepen vanuit een clientproces te vereenvoudigen.
IWbemBackupRestore- Hiermee maakt u een back-up van de inhoud van de WMI-opslagplaats en herstelt u deze.
IWbemCallResult- Wordt gebruikt voor semisynchrone aanroepen van de IWbemServices interface. Wanneer u dergelijke aanroepen doet, retourneert de aangeroepen methode IWbemServices onmiddellijk, samen met een IWbemCallResult-object.
IWbemCausalityAnalysis- Houdt onderliggende aanvragen bij die worden gegenereerd op basis van een bovenliggende aanvraag.
IWbemClassObject Bevat en bewerkt zowel klassedefinities als exemplaren van klasseobjecten. Ontwikkelaars hoeven deze interface niet te implementeren; WMI biedt de implementatie.
IWbemConfigureRefresher Wordt gebruikt door clientcode om opsommingen, objecten en geneste vernieuwingen toe te voegen of te verwijderen in een vernieuwingsfunctie.
IWbemContext- Optioneel gebruikt voor het doorgeven van aanvullende contextinformatie aan providers bij het indienen van IWbemServices aanroepen naar Windows Management.
IWbemDecoupledBasicEventProvider Registreert losgekoppelde providers met WMI.
IWbemDecoupledRegistrar- Koppelt losgekoppelde providers aan WMI. Met deze interface kan een door het proces gehoste provider de interoperabiliteitsduur van de interface definiëren en naast andere providers bestaan.
IWbemEventConsumerProvider Biedt de primaire interface voor een gebeurtenisconsumerprovider. Via deze interface en de methode FindConsumer kan een gebeurtenisconsumer-provider aangeven welke gebeurtenisconsumers een bepaalde gebeurtenis moeten ontvangen.
IWbemEventProvider Wordt gebruikt om communicatie met een gebeurtenisprovider te initiëren.
IWbemEventProviderQuerySink Optioneel geïmplementeerd door gebeurtenisproviders die willen weten welke soorten gebeurtenisqueryfilters momenteel actief zijn om de prestaties te optimaliseren.
IWbemEventProviderSecurity- Optioneel geïmplementeerd door gebeurtenisproviders die de toegang van consumenten tot hun gebeurtenis willen beperken.
IWbemEventSink Initieert communicatie met een gebeurtenisprovider met behulp van een beperkte set query's. Deze interface breidt IWbemObjectSinkuit en biedt nieuwe methoden voor beveiliging en prestaties.
IWbemHiPerfProvider Hiermee kunnen providers vernieuwbare objecten en opsommingen leveren.
IWbemHiPerfEnum- Wordt gebruikt in vernieuwingsbewerkingen om snelle toegang te bieden tot opsommingen van exemplaarobjecten.
IWbemLocator- Haalt de initiële naamruimte aanwijzer naar de IWbemServices interface voor WMI op een specifieke hostcomputer.
IWbemObjectAccess- Biedt toegang tot de methoden en eigenschappen van een object. Een IWbemObjectAccess--object is een container voor een exemplaar dat wordt bijgewerkt door een vernieuwingsfunctie.
IWbemObjectSink Wordt gebruikt voor het ontvangen van zowel de resultaten van IWbemServices als bepaalde typen gebeurtenismeldingen.
IWbemObjectTextSrc- Wordt gebruikt om IWbemClassObject exemplaren te vertalen naar en van verschillende tekstindelingen.
IWbemPropertyProvider Ondersteunt het ophalen en bijwerken van afzonderlijke eigenschappen in een exemplaar van een WMI-klasse.
IWbemProviderIdentity- Geïmplementeerd door een gebeurtenisprovider als de provider zichzelf registreert met meer dan één Name (meerdere exemplaren van __Win32Provider) met dezelfde CLSID waarde. De klasse biedt een mechanisme voor het onderscheiden van welke benoemde provider moet worden gebruikt.
IWbemProviderInit- Wordt gebruikt om providers te initialiseren.
IWbemProviderInitSink Geïmplementeerd door WMI en aangeroepen door providers om de initialisatiestatus te rapporteren.
IWbemQualifierSet Fungeert als een container voor de volledige set benoemde kwalificatiefuncties voor één eigenschap of volledig object (een klasse of instantie).
IWbemQuery- Biedt een toegangspunt waarmee een WMI Query Language (WQL)-query kan worden geparseerd.
IWbemRefresher Biedt een toegangspunt waarmee vernieuwbare objecten, zoals opsommingstekens of vernieuwingsobjecten, kunnen worden vernieuwd.
IWbemServices- Wordt gebruikt door clients en providers voor toegang tot WMI-services. De interface wordt alleen geïmplementeerd door WMI en is de primaire WMI-interface.
IWbemStatusCodeText- Extraheert teksttekenreeksbeschrijvingen van foutcodes of de naam van het subsysteem waar de fout is opgetreden.
IWbemUnboundObjectSink- Geïmplementeerd door alle logische gebeurtenisgebruikers. Het is een eenvoudige sink-interface die de levering van gebeurtenisobjecten accepteert.

 

Notitie

Veel van de WMI COM-functies retourneren numerieke foutcodes die worden gedocumenteerd als benoemde constanten. Deze constanten worden gedefinieerd in Wbemcli.h in de map PSDK WMI\Include. Zie WMI-retourcodesvoor meer informatie.

 

Zie Component Developmentvoor meer informatie over de volgende onderwerpen voor COM-programmering:

  • Interfaces en objectontwerp.
  • Implementatie van IUnknown.
  • Geheugenbeheer
  • Het tellen van verwijzingen verwerken.

WMI-verwijzing