Freigeben über


COM-API für WMI

Sie können die WMI Component Object Model (COM)-API verwenden, um Verwaltungsclientanwendungen zu schreiben oder einen neuen WMI-Anbieterzu erstellen. Die COM-API-Referenz enthält Informationen für erweiterte Systemadministratoren sowie Entwickler, die Client- und Anbieteranwendungen schreiben.

Weitere Informationen zum Schreiben von WMI-Unternehmensverwaltungsanwendungen finden Sie unter Erstellen einer WMI-Anwendung mit C++-. Weitere Informationen zum Schreiben eines WMI-Anbieters finden Sie unter Bereitstellen von Daten für WMI-.

Anmerkung

WMI unterstützt nur die C++-Entwicklung mit Microsoft Visual C++ Version 6.0 und höheren Entwicklungssystemen. Sie können jedoch auch andere Compiler wie solche von Borland und Watcom verwenden.

 

Jedes der verschiedenen WMI-Objekte erbt letztendlich von einer Schnittstelle, die letztendlich von der IUnknown Schnittstelle geerbt wurde. COM bestimmt, wie Objektimplementierer oder Schnittstellen Aufgaben wie Speicherverwaltung, Parameterverwaltung und Multithreading verarbeiten. Durch die Einhaltung von COM stellt die COM-API für WMI sicher, dass sie die von den Schnittstellen der einzelnen WMI-Objekte bereitgestellten Funktionen unterstützt.

WMI wird über die folgenden WMI-spezifischen COM-Schnittstellen zugegriffen.

Schnittstelle Beschreibung
IEnumWbemClassObject Enumerator, der mit Objekten vom Typ IWbemClassObjectarbeitet. Es ähnelt standardmäßigen COM-Enumerationen, z. B. IEnumVariant.
IMofCompiler- Durch Mofd.dllimplementiert, stellt diese Schnittstelle eine COM-Schnittstelle bereit, die vom MOF-Compiler und allen anderen Anwendungen verwendet wird, die MOF-Dateien kompilieren.
IUnsecuredApartment Wird verwendet, um den Prozess der asynchronen Aufrufe von einem Clientprozess zu vereinfachen.
IWbemBackupRestore- Dient zum Sichern und Wiederherstellen des Inhalts des WMI-Repositorys.
IWbemCallResult- Wird für semisynchrone Aufrufe der IWbemServices Schnittstelle verwendet. Beim Ausführen solcher Aufrufe gibt die aufgerufene IWbemServices--Methode sofort zusammen mit einem IWbemCallResult-Objekt zurück.
IWbemCausalityAnalysis Verfolgt untergeordnete Anforderungen, die aus einer übergeordneten Anforderung generiert werden.
IWbemClassObject- Enthält und bearbeitet sowohl Klassendefinitionen als auch Klassenobjektinstanzen. Entwickler müssen diese Schnittstelle nicht implementieren; WMI stellt seine Implementierung bereit.
IWbemConfigureRefresher- Wird vom Clientcode zum Hinzufügen oder Entfernen von Enumerationen, Objekten und geschachtelten Aktualisierungen in einer Aktualisierung verwendet.
IWbemContext- Optional wird verwendet, um zusätzliche Kontextinformationen an Anbieter zu übermitteln, wenn IWbemServices Aufrufe an die Windows-Verwaltung übermittelt werden.
IWbemDecoupledBasicEventProvider Registriert entkoppelte Anbieter mit WMI.
IWbemDecoupledRegistrar Ordnet entkoppelte Anbieter mit WMI zu. Diese Schnittstelle ermöglicht es einem prozessgehosteten Anbieter, die Interoperabilitätsdauer der Schnittstelle zu definieren und mit anderen Anbietern koexistieren.
IWbemEventConsumerProvider Stellt die primäre Schnittstelle für einen Ereignisanwenderanbieter bereit. Über diese Schnittstelle und die FindConsumer--Methode kann ein Ereignisanwenderanbieter angeben, welche Ereignisempfänger ein bestimmtes Ereignis erhalten sollen.
IWbemEventProvider Wird verwendet, um die Kommunikation mit einem Ereignisanbieter zu initiieren.
IWbemEventProviderQuerySink- Optional implementiert von Ereignisanbietern, die wissen möchten, welche Arten von Ereignisabfragefiltern derzeit aktiv sind, um die Leistung zu optimieren.
IWbemEventProviderSecurity Optional implementiert von Ereignisanbietern, die den Verbraucherzugriff auf ihr Ereignis einschränken möchten.
IWbemEventSink- Initiiert die Kommunikation mit einem Ereignisanbieter mithilfe einer eingeschränkten Gruppe von Abfragen. Diese Schnittstelle erweitert IWbemObjectSinkund bietet neue Methoden für Sicherheit und Leistung.
IWbemHiPerfProvider Ermöglicht Es Anbietern, aktualisierbare Objekte und Enumerationen zu liefern.
IWbemHiPerfEnum Wird bei Aktualisierungsvorgängen verwendet, um schnellen Zugriff auf Enumerationen von Instanzobjekten zu ermöglichen.
IWbemLocator- Ruft den anfänglichen Namespacezeiger auf die IWbemServices Schnittstelle für WMI auf einem bestimmten Hostcomputer ab.
IWbemObjectAccess Bietet Zugriff auf die Methoden und Eigenschaften eines Objekts. Ein IWbemObjectAccess-Objekt ist ein Container für eine Instanz, die von einem Aktualisierungs-aktualisiert wird.
IWbemObjectSink- Wird verwendet, um sowohl die Ergebnisse von IWbemServices als auch bestimmte Arten von Ereignisbenachrichtigungen zu empfangen.
IWbemObjectTextSrc Wird verwendet, um IWbemClassObject Instanzen in und von unterschiedlichen Textformaten zu übersetzen.
IWbemPropertyProvider- Unterstützt das Abrufen und Aktualisieren einzelner Eigenschaften in einer Instanz einer WMI-Klasse.
IWbemProviderIdentity- Wird von einem Ereignisanbieter implementiert, wenn sich der Anbieter mit mehr als einem Name (mehrere Instanzen von __Win32Provider) mit demselben CLSID- wert registriert. Die Klasse stellt einen Mechanismus zur Unterscheidung bereit, welcher benannte Anbieter verwendet werden soll.
IWbemProviderInit Wird zum Initialisieren von Anbietern verwendet.
IWbemProviderInitSink Wird von WMI implementiert und von Anbietern aufgerufen, um den Initialisierungsstatus zu melden.
IWbemQualifierSet- Dient als Container für den gesamten Satz benannter Qualifizierer für eine einzelne Eigenschaft oder ein gesamtes Objekt (eine Klasse oder Instanz).
IWbemQuery Stellt einen Einstiegspunkt bereit, über den eine WMI-Abfragesprache (WQL)-Abfrage analysiert werden kann.
IWbemRefresher- Stellt einen Einstiegspunkt bereit, über den aktualisierbare Objekte wie Enumeratoren oder Aktualisierungsobjekte aktualisiert werden können.
IWbemServices- Wird von Clients und Anbietern für den Zugriff auf WMI-Dienste verwendet. Die Schnittstelle wird nur von WMI implementiert und ist die primäre WMI-Schnittstelle.
IWbemStatusCodeText- Extrahiert Textzeichenfolgenbeschreibungen von Fehlercodes oder den Namen des Subsystems, in dem der Fehler aufgetreten ist.
IWbemUnboundObjectSink- Implementiert von allen logischen Ereignis-Consumern. Es handelt sich um eine einfache Sinkschnittstelle, die die Übermittlung von Ereignisobjekten akzeptiert.

 

Anmerkung

Viele der WMI-COM-Funktionen geben numerische Fehlercodes zurück, die als benannte Konstanten dokumentiert sind. Diese Konstanten werden in Wbemcli.h im Ordner "PSDK WMI\Include" definiert. Weitere Informationen finden Sie unter WMI-Rückgabecodes.

 

Weitere Informationen zu den folgenden Themen für die COM-Programmierung finden Sie unter Komponentenentwicklung:

  • Schnittstellen und Objektdesign.
  • Implementieren von IUnknown.
  • Speicherverwaltung
  • Behandeln von Verweiszählungen.

WMI-Referenz-