IWbemContext-Schnittstelle (wbemcli.h)

Die IWbemContext-Schnittstelle wird optional verwendet, um anbieter beim Übermitteln von IWbemServices-Aufrufen an WMI zusätzliche Kontextinformationen zu kommunizieren. Alle primären Aufrufe in IWbemServices verwenden einen optionalen Parameter, der auf ein Objekt dieses Typs zeigt.

Vererbung

Die IWbemContext-Schnittstelle erbt von der IUnknown-Schnittstelle . IWbemContext verfügt auch über folgende Membertypen:

Methoden

Die IWbemContext-Schnittstelle verfügt über diese Methoden.

 
IWbemContext::BeginEnumeration

Die IWbemContext::BeginEnumeration-Methode setzt die Enumeration aller Kontextwerte im -Objekt zurück.
IWbemContext::Clone

Die IWbemContext::Clone-Methode stellt eine logische Kopie des aktuellen IWbemContext-Objekts her. Diese Methode kann nützlich sein, wenn viele Aufrufe erfolgen müssen, die weitgehend identische IWbemContext-Objekte aufweisen.
IWbemContext::D eleteAll

Die IWbemContext::D eleteAll-Methode entfernt alle benannten Kontextwerte aus dem aktuellen Objekt, wodurch das Objekt geleert wird.
IWbemContext::D eleteValue

Die IWbemContext::D eleteValue-Methode löscht einen benannten Kontextwert, der von IWbemContext::SetValue erstellt wurde.
IWbemContext::EndEnumeration

Die IWbemContext::EndEnumeration-Methode beendet eine Enumerationssequenz, die mit IWbemContext::BeginEnumeration beginnt. Dieser Aufruf ist nicht erforderlich, gibt aber alle systemressourcen, die der Enumeration zugeordnet sind, so früh wie möglich frei.
IWbemContext::GetNames

Die IWbemContext::GetNames-Methode gibt eine SAFEARRAY-Struktur aller Namen der benannten Kontextwerte zurück.
IWbemContext::GetValue

Die IWbemContext::GetValue-Methode wird verwendet, um einen bestimmten benannten Kontextwert anhand des Namens abzurufen.
IWbemContext::Next

Die IWbemContext::Next-Methode ruft den nächsten Wert in einer Enumeration aller Kontextwerte ab, die mit IWbemContext::BeginEnumeration beginnen.
IWbemContext::SetValue

Die IWbemContext::SetValue-Methode erstellt oder überschreibt einen benannten Kontextwert.

Hinweise

Häufig erfordern dynamische Anbieter mehr Informationen, als in den normalen Parametern einer IWbemServices-Methode angegeben ist. Um z. B. WMI-Schemaobjekte zu bearbeiten, die er bereitstellt, muss ein Anbieter möglicherweise einen SNMP-Communitynamen (Simple Network Management Protocol) oder einen sql-Datenbank- und Tabellennamen (strukturierte Abfragesprache) kennen. Ein Client kann diese Informationen einem IWbemContext-Objekt hinzufügen und das IWbemContext-Objekt zusammen mit dem Aufruf als einen der Parameter senden.

Anbieter sollten Inhaltsobjekte sparsam verwenden. Es wird empfohlen, dass dies niemals erforderlich ist. Wenn ein Anbieter eine große Menge an hochspezifischen Kontextinformationen benötigt, um auf eine Anforderung zu reagieren, müssen alle Clients codiert werden, um diese Informationen bereitzustellen, wodurch das einheitliche Zugriffsmodell, das die Grundlage von WMI ist, unterbricht. In manchen Fällen ist dies jedoch nicht zu vermeiden. Daher wird dieser Mechanismus bereitgestellt, um den Zugriff auf solche Anbieter zu ermöglichen. Entwickler solcher Anbieter sollten eine angemessene Dokumentation bereitstellen, damit Entwickler von Clientsoftware solche CIM-Objekte erfolgreich bearbeiten können.

Anbieter, die die Verwendung von IWbemContext unterstützen, damit Clients weitere Informationen in einer Anforderung angeben können, sollten die unterstützten Wertetypen auf die Typen in der folgenden Liste beschränken:

  • VT_I4
  • VT_R8
  • VT_BOOL
  • VT_BSTR
  • VT_UNKNOWN
  • Alle oben genannten Optionen in Kombination mit VT_ARRAY
Hinweis Nur Objekte, die IWbemClassObject unterstützen, können ihre IUnknown-Methoden in einem IWbemContext-instance mithilfe einer Variante des Typs VT_UNKNOWN marshallen.
 
Ein IWbemContext-Objekt , das mit CoCreateInstanceEx erstellt wird, ist ein einfacher Container mit benannten Werten. Greifen Sie auf diese Methoden zu, um kontextbezogene Informationen auszufüllen, die von einem dynamischen Anbieter benötigt werden. Nach dem Aufruf einer der IWbemServices-Methoden kann das IWbemContext-Objekt für einen anderen Aufruf wiederverwendet werden, oder es kann mithilfe von Release und einem anderen Objekt, das für andere Aufrufe von IWbemServices-Methoden erstellt wurde, aufgehoben werden.

Die in einem IWbemContext-Objekt enthaltenen Informationen werden vollständig vom zugrunde liegenden Anbieter bestimmt. WMI verwendet die Informationen nicht, sondern leitet sie an den Anbieter weiter. Anbieter müssen die Kontextinformationen veröffentlichen, die sie für diese Dienstanforderungen benötigen.

Die Clientanwendung ruft CoCreateInstanceEx auf, um ein einzelnes Kontextobjekt zu erstellen. Anschließend wird SetValue einmal oder mehrmals aufgerufen, um Kontextwerte für den Anbieter einzurichten. Schließlich wird das -Objekt an eine der IWbemServices-Methoden übermittelt, die sofort Release für das Kontextobjekt aufruft, nachdem der Aufruf zurückgegeben wurde. Die anderen Methoden werden in erster Linie von Anbietern verwendet, die das Kontextobjekt empfangen und Informationen extrahieren müssen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista
Unterstützte Mindestversion (Server) Windows Server 2008
Zielplattform Windows
Kopfzeile wbemcli.h (include Wbemidl.h)

Weitere Informationen

COM-API für WMI

Erstellen und Deklarieren einer Instanz mit C++

Tätigen von Aufrufen an WMI

Anfordern von WMI-Daten auf einer 64-Bit-Plattform

Abrufen eines Teils einer WMI-Instanz