API COM pour WMI

Vous pouvez utiliser l’API COM (WMI Component Object Model) pour écrire des applications clientes de gestion ou créer un fournisseur WMI. La référence de l’API COM fournit des informations aux administrateurs système avancés, ainsi qu’aux développeurs qui écrivent des applications clientes et de fournisseurs.

Pour plus d’informations sur l’écriture d’applications de gestion d’entreprise WMI, consultez Création d’une application WMI à l’aide de C++. Pour plus d’informations sur l’écriture d’un fournisseur WMI, consultez Fourniture de données à WMI.

Notes

WMI prend uniquement en charge le développement C++ à l’aide des systèmes de développement Microsoft Visual C++ version 6.0 et ultérieures. Toutefois, vous pouvez également utiliser d’autres compilateurs tels que ceux de Borland et Watcom.

 

Chacun des différents objets WMI hérite d’une interface finalement héritée de l’interface IUnknown . COM dicte la façon dont les implémenteurs d’objets, ou interfaces, gèrent des tâches telles que la gestion de la mémoire, la gestion des paramètres et le multithreading. En se conformant à COM, l’API COM pour WMI garantit qu’elle prend en charge les fonctionnalités fournies par les interfaces de chaque objet WMI.

WMI est accessible via les interfaces COM spécifiques à WMI suivantes.

Interface Description
IEnumWbemClassObject Énumérateur qui fonctionne avec des objets de type IWbemClassObject. Il est similaire aux énumérateurs COM standard, tels que IEnumVariant.
IMofCompiler Implémentée par Mofd.dll, cette interface fournit une interface COM qui est utilisée par le compilateur MOF et toutes les autres applications qui compilent des fichiers MOF.
IUnsecuredApartment Utilisé pour simplifier le processus d’exécution d’appels asynchrones à partir d’un processus client.
IWbemBackupRestore Sauvegarde et restaure le contenu du référentiel WMI.
IWbemCallResult Utilisé pour les appels semi-synchrones de l’interface IWbemServices. Lors de ces appels, la méthode IWbemServices appelée retourne immédiatement, ainsi qu’un objet IWbemCallResult .
IWbemCausalityAnalysis Effectue le suivi des requêtes enfants générées à partir d’une demande parente.
IWbemClassObject Contient et manipule les définitions de classe et les instances d’objet de classe. Les développeurs n’ont pas besoin d’implémenter cette interface ; WMI fournit son implémentation.
IWbemConfigureRefresher Utilisé par le code client pour ajouter ou supprimer des énumérateurs, des objets et des actualisations imbriquées dans un actualisateur.
IWbemContext Éventuellement utilisé pour communiquer des informations de contexte supplémentaires aux fournisseurs lors de l’envoi d’appels IWbemServices à Windows Management.
IWbemDecoupledBasicEventProvider Inscrit les fournisseurs découplés auprès de WMI.
IWbemDecoupledRegistrar Associe des fournisseurs découplés à WMI. Cette interface permet à un fournisseur hébergé par un processus de définir la durée de vie d’interopérabilité de l’interface et de coexister avec d’autres fournisseurs.
IWbemEventConsumerProvider Fournit l’interface principale pour un fournisseur de consommateurs d’événements. Grâce à cette interface et à la méthode FindConsumer , un fournisseur de consommateurs d’événements peut indiquer quels consommateurs d’événements doivent recevoir un événement donné.
IWbemEventProvider Utilisé pour lancer la communication avec un fournisseur d’événements.
IWbemEventProviderQuerySink Implémentés éventuellement par les fournisseurs d’événements qui souhaitent savoir quels types de filtres de requête d’événement sont actuellement actifs pour optimiser les performances.
IWbemEventProviderSecurity Éventuellement implémenté par les fournisseurs d’événements qui souhaitent restreindre l’accès du consommateur à leur événement.
IWbemEventSink Initie la communication avec un fournisseur d’événements à l’aide d’un ensemble restreint de requêtes. Cette interface étend IWbemObjectSink, en fournissant de nouvelles méthodes traitant de la sécurité et des performances.
IWbemHiPerfProvider Permet aux fournisseurs de fournir des objets et des énumérateurs actualisables.
IWbemHiPerfEnum Utilisé dans les opérations d’actualisation pour fournir un accès rapide aux énumérations d’objets d’instance.
IWbemLocator Obtient le pointeur d’espace de noms initial vers l’interface IWbemServices pour WMI sur un ordinateur hôte spécifique.
IWbemObjectAccess Fournit l’accès aux méthodes et aux propriétés d’un objet . Un objet IWbemObjectAccess est un conteneur pour un instance mis à jour par un actualiseur.
IWbemObjectSink Utilisé pour recevoir les résultats d’IWbemServices et certains types de notifications d’événements.
IWbemObjectTextSrc Utilisé pour traduire des instances IWbemClassObject vers et depuis différents formats de texte.
IWbemPropertyProvider Prend en charge la récupération et la mise à jour de propriétés individuelles dans une instance d’une classe WMI.
IWbemProviderIdentity Implémenté par un fournisseur d’événements si le fournisseur s’inscrit lui-même à l’aide de plusieurs noms ( plusieurs instances de __Win32Provider) avec la même valeur CLSID. La classe fournit un mécanisme permettant de distinguer le fournisseur nommé qui doit être utilisé.
IWbemProviderInit Utilisé pour initialiser des fournisseurs.
IWbemProviderInitSink Implémenté par WMI et appelé par les fournisseurs pour signaler l’état d’initialisation.
IWbemQualifierSet Agit en tant que conteneur pour l’ensemble des qualificateurs nommés pour une propriété unique ou un objet entier (une classe ou une instance).
IWbemQuery Fournit un point d’entrée par le biais duquel une requête WMI Query Language (WQL) peut être analysée.
IWbemRefresher Fournit un point d’entrée par lequel les objets actualisables tels que les énumérateurs ou les objets d’actualisation peuvent être actualisés.
IWbemServices Utilisé par les clients et les fournisseurs pour accéder aux services WMI. L’interface est implémentée uniquement par WMI et est l’interface WMI principale.
IWbemStatusCodeText Extrait les descriptions de chaîne de texte des codes d’erreur ou le nom du sous-système où l’erreur s’est produite.
IWbemUnboundObjectSink Implémenté par tous les consommateurs d’événements logiques. Il s’agit d’une interface récepteur simple qui accepte la remise d’objets d’événement.

 

Notes

La plupart des fonctions COM WMI retournent des codes d’erreur numériques documentés sous forme de constantes nommées. Ces constantes sont définies dans Wbemcli.h dans le dossier WMI\Include PSDK. Pour plus d’informations, consultez Codes de retour WMI.

 

Pour plus d’informations sur les rubriques suivantes concernant la programmation COM, consultez Développement de composants :

  • Interfaces et conception d’objets.
  • Implémentation d’IUnknown.
  • Gestion de la mémoire
  • Gestion du comptage des références.

Référence WMI