COM-API für WMI

Sie können die WMI-Component Object Model-API (COM) verwenden, um Verwaltungsclientanwendungen zu schreiben oder einen neuen WMI-Anbieter zu erstellen. Die COM-API-Referenz enthält Informationen für fortgeschrittene Systemadministratoren sowie für 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.

Hinweis

WMI unterstützt nur die C++-Entwicklung mit Microsoft Visual C++ Version 6.0 und höher von Entwicklungssystemen. Sie können jedoch auch andere Compiler verwenden, z. B. die von Borland undCom.

Jedes der verschiedenen WMI-Objekte erbt von einer Schnittstelle, die letztendlich von der IUnknown-Schnittstelle geerbt wurde. COM bestimmt, wie Objekt-Implementierer oder Schnittstellen Aufgaben wie Speicherverwaltung, Parameterverwaltung und Multithreading verarbeiten. Durch die Konformität mit COM stellt die COM-API für WMI sicher, dass sie die Funktionalität unterstützt, die von den Schnittstellen der einzelnen WMI-Objekte bereitgestellt wird.

Der Zugriff auf WMI erfolgt über die folgenden WMI-spezifischen COM-Schnittstellen.

Schnittstelle BESCHREIBUNG
IEnumWbemClassObject Enumerator, der mit Objekten des Typs IWbemClassObject funktioniert. Sie ähnelt COM-Standardenumeratoren, z. B. IEnumVariant.
IMofCompiler Durch Mofd.dll implementiert, 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 asynchroner Aufrufe von einem Clientprozess zu vereinfachen.
IWbemBackupRestore Sichern und Wiederherstellen des Inhalts des WMI-Repositorys.
IWbemCallResult Wird für semisynchrone Aufrufe der IWbemServices-Schnittstelle verwendet. Bei solchen Aufrufen gibt die aufgerufene IWbemServices-Methode sofort zusammen mit einem IWbemCallResult-Objekt zurück.
IWbemCausalityAnalysis Verfolgt untergeordnete Anforderungen nach, 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 bietet seine Implementierung.
IWbemConfigureRefresher Wird vom Clientcode zum Hinzufügen oder Entfernen von Enumeratoren, Objekten und geschachtelten Aktualisierungen zu einer Auffrischung verwendet.
IWbemContext Wird optional verwendet, um zusätzliche Kontextinformationen an Anbieter zu übermitteln, wenn IWbemServices-Aufrufe an Windows werden.
IWbemDeabapledBasicEventProvider Registriert entkoppelte Anbieter bei WMI.
IWbemDeregistrpledRegistrar Ordnet entkoppelte Anbieter WMI zu. Diese Schnittstelle ermöglicht es einem prozessge gehosteten Anbieter, die Interoperabilitätsdauer der Schnittstelle zu definieren und mit anderen Anbietern zusammen zu sein.
IWbemEventConsumerProvider Stellt die primäre Schnittstelle für einen Ereignisverbraucheranbieter bereit. Über diese Schnittstelle und die FindConsumer-Methode kann ein Ereignisconsumeranbieter angeben, welche Ereignisconsumer ein bestimmtes Ereignis empfangen sollen.
IWbemEventProvider Wird verwendet, um die Kommunikation mit einem Ereignisanbieter zu initiieren.
IWbemEventProviderQuerySink Optional von Ereignisanbietern implementiert, die wissen möchten, welche Arten von Ereignisabfragefiltern derzeit aktiv sind, um die Leistung zu optimieren.
IWbemEventProviderSecurity Wird optional von Ereignisanbietern implementiert, die den Consumerzugriff auf ihr Ereignis einschränken möchten.
IWbemEventSink Initiiert die Kommunikation mit einem Ereignisanbieter mithilfe eines eingeschränkten Satz von Abfragen. Diese Schnittstelle erweitert IWbemObjectSinkund stellt neue Methoden für Sicherheit und Leistung bereit.
IWbemHiPerfProvider Ermöglicht Es Anbietern, auffrischbare Objekte und Enumeratoren zu liefern.
IWbemHiPerfEnum Wird in Aktualisierungsvorgängen verwendet, um schnellen Zugriff auf Enumerationen von Instanzobjekten zu ermöglichen.
IWbemLocator Erhält den anfänglichen Namespacezeiger auf die IWbemServices-Schnittstelle für WMI auf einem bestimmten Hostcomputer.
IWbemObjectAccess Ermöglicht den Zugriff auf die Methoden und Eigenschaften eines Objekts. Ein IWbemObjectAccess-Objekt ist ein Container für eine -Instanz, die durch eine Aktualisierung 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 aus 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 Namen (mehrere Instanzen von _ _ Win32Provider)mit demselben CLSID-Wert registriert. Die -Klasse stellt einen Mechanismus zur Unterscheidung dar, 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 Fungiert 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 zur Analyse einer WMI Query Language (WQL) zur Seite.
IWbemRefresher Stellt einen Einstiegspunkt dar, über den aktualisierungsfähige 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 Wird von allen logischen Ereignisverbrauchern implementiert. Es handelt sich um eine einfache Senkenschnittstelle, die die Übermittlung von Ereignisobjekten akzeptiert.

Hinweis

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 Objektentwurf.
  • Implementieren von IUnknown.
  • Speicherverwaltung
  • Verarbeitung der Verweiszählung.

WMI-Referenz