Interface IWbemContext (wbemcli.h)

L’interface IWbemContext est éventuellement utilisée pour communiquer des informations de contexte supplémentaires aux fournisseurs lors de l’envoi d’appels IWbemServices à WMI. Tous les appels principaux dans IWbemServices prennent un paramètre facultatif pointant vers un objet de ce type.

Héritage

L’interface IWbemContext hérite de l’interface IUnknown. IWbemContext a également les types de membres suivants :

Méthodes

L’interface IWbemContext a ces méthodes.

 
IWbemContext ::BeginEnumeration

La méthode IWbemContext ::BeginEnumeration réinitialise l’énumération de toutes les valeurs de contexte dans l’objet .
IWbemContext ::Clone

La méthode IWbemContext ::Clone effectue une copie logique de l’objet IWbemContext actuel. Cette méthode peut être utile lorsque de nombreux appels doivent être effectués avec des objets IWbemContext en grande partie identiques.
IWbemContext ::D eleteAll

La méthode IWbemContext ::D eleteAll supprime toutes les valeurs de contexte nommées de l’objet actuel, ce qui vide l’objet.
IWbemContext ::D eleteValue

La méthode IWbemContext ::D eleteValue supprime une valeur de contexte nommée créée par IWbemContext ::SetValue.
IWbemContext ::EndEnumeration

La méthode IWbemContext ::EndEnumeration termine une séquence d’énumération qui commence par IWbemContext ::BeginEnumeration. Cet appel n’est pas obligatoire, mais il libère le plus tôt possible toutes les ressources système associées à l’énumération.
IWbemContext ::GetNames

La méthode IWbemContext ::GetNames retourne une structure SAFEARRAY de tous les noms des valeurs de contexte nommées.
IWbemContext ::GetValue

La méthode IWbemContext ::GetValue est utilisée pour récupérer une valeur de contexte nommée spécifique par nom.
IWbemContext ::Next

La méthode IWbemContext ::Next récupère la valeur suivante dans une énumération de toutes les valeurs de contexte commençant par IWbemContext ::BeginEnumeration.
IWbemContext ::SetValue

La méthode IWbemContext ::SetValue crée ou remplace une valeur de contexte nommée.

Remarques

Souvent, les fournisseurs dynamiques nécessitent plus d’informations que ce qui est spécifié dans les paramètres normaux d’une méthode IWbemServices . Par exemple, pour manipuler les objets de schéma WMI qu’il fournit, un fournisseur peut avoir besoin de connaître un nom de communauté SNMP (Simple Network Management Protocol) ou un nom de base de données et de table langage SQL (SQL). Un client peut ajouter ces informations à un objet IWbemContext et envoyer l’objet IWbemContext avec l’appel comme l’un des paramètres.

Les fournisseurs doivent utiliser les objets de contenu avec parcimonie. Il est recommandé de ne jamais le faire. Si un fournisseur a besoin d’une grande quantité d’informations de contexte très spécifiques pour répondre à une demande, tous les clients doivent être codés pour fournir ces informations, ce qui rompt le modèle d’accès uniforme qui est la base de WMI. Néanmoins, dans certains cas, elle ne peut pas être évitée. Par conséquent, ce mécanisme est fourni pour permettre l’accès à ces fournisseurs. Les développeurs de ces fournisseurs doivent fournir une documentation adéquate afin que les développeurs de logiciels clients puissent manipuler correctement ces objets CIM.

Les fournisseurs qui prennent en charge l’utilisation d’IWbemContext pour permettre aux clients de spécifier plus d’informations dans une demande doivent limiter les types de valeurs qu’ils prennent en charge aux types de la liste suivante :

  • VT_I4
  • VT_R8
  • VT_BOOL
  • VT_BSTR
  • VT_UNKNOWN
  • Toutes les combinaisons ci-dessus avec VT_ARRAY
Note Seuls les objets qui prennent en charge IWbemClassObject peuvent marshaler leurs méthodes IUnknown dans un instance IWbemContext à l’aide d’une variante de type VT_UNKNOWN.
 
Un objet IWbemContext , créé à l’aide de CoCreateInstanceEx, est un conteneur simple de valeurs nommées. Accédez à ces méthodes pour renseigner les informations de contexte requises par un fournisseur dynamique. Après l’appel à l’une des méthodes IWbemServices , l’objet IWbemContext peut être réutilisé pour un autre appel, ou il peut être libéré à l’aide de Release et d’un autre objet créé pour d’autres appels aux méthodes IWbemServices .

Les informations contenues dans un objet IWbemContext sont entièrement déterminées par le fournisseur sous-jacent. WMI n’utilise pas les informations, mais les transfère au fournisseur. Les fournisseurs doivent publier les informations de contexte dont ils ont besoin pour ces demandes de service.

L’application cliente appelle CoCreateInstanceEx pour créer un objet de contexte unique. Ensuite, il appelle SetValue une ou plusieurs fois pour configurer des valeurs de contexte pour le fournisseur. Enfin, il envoie l’objet à l’une des méthodes IWbemServices , qui appelle immédiatement Release sur l’objet de contexte une fois l’appel retourné. Les autres méthodes sont principalement destinées aux fournisseurs qui reçoivent l’objet de contexte et qui doivent extraire des informations.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista
Serveur minimal pris en charge Windows Server 2008
Plateforme cible Windows
En-tête wbemcli.h (include Wbemidl.h)

Voir aussi

API COM pour WMI

Création et déclaration d’une instance à l’aide de C++

Exécution d’appels à WMI

Demande de données WMI sur une plateforme 64 bits

Récupération d’une partie d’une instance WMI