Techniques générales pour tester la prise en charge des pilotes WMI

Outils clients WMI

Vous pouvez utiliser plusieurs outils pour tester la prise en charge de WMI dans votre pilote.

Wbemtest
Le système d’exploitation comprend l’outil Wbemtest, qui fournit une interface graphique que vous pouvez utiliser pour interroger les classes WMI et les instances de classe, modifier les valeurs de propriété, exécuter des méthodes et recevoir des notifications d’événements. Connectez-vous à l’espace de noms « root\wmi » pour tester la prise en charge de votre pilote.

Wmic
Microsoft Windows XP et les systèmes d’exploitation ultérieurs incluent l’outil Wmic, qui fournit un interpréteur de commandes que vous pouvez utiliser pour émettre des commandes liées à WMI pour tester votre pilote.

Wmimofck
La commande wmimofck peut être utilisée pour case activée la syntaxe de vos fichiers MOF binaires. Vous pouvez également utiliser la commande wmimofck -t pour générer un fichier VBScript. Vous pouvez utiliser ce script pour tester la gestion par votre pilote des requêtes instance de classe WMI. La commande wmimofck -w génère des pages web qui peuvent tester l’interrogation et la définition de classes, l’exécution de méthodes et la réception d’événements. Notez que les pages web ne prennent pas en charge l’exécution de méthodes qui utilisent des paramètres complexes ou des valeurs de retour (comme un tableau de classes incorporées). Dans ce cas, vous pouvez utiliser Wbemtest à la place. Pour plus d’informations sur Wmimofck , consultez Utilisation de wmimofck.exe .

Vous pouvez également tester la prise en charge WMI de votre pilote en écrivant une application cliente WMI personnalisée, à l’aide de l’API en mode utilisateur WMI.

Pour plus d’informations sur cette API en mode utilisateur, qui permet aux applications de fournir ou d’utiliser des informations WMI, reportez-vous aux informations de Windows Management Instrumentation dans la documentation Microsoft Windows SDK.

Une application cliente WMI effectue les tâches suivantes pour tester un pilote :

  • Se connecte à WMI.

    Pour se connecter à WMI, l’application peut appeler la fonction COM (Component Object Model), CoCreateInstance, pour récupérer un pointeur vers l’interface IWbemLocator . L’application appelle ensuite la méthode IWbemLocator::ConnectServer pour se connecter à WMI. À partir de cet appel, l’application reçoit un pointeur vers l’interface IWbemServices .

  • Accède aux informations dans le pilote.

    Pour accéder aux informations et s’inscrire aux événements, l’application utilise les méthodes de l’interface IWbemServices .

IIP WMI et journal des événements système

Les erreurs WMI qui se produisent strictement en mode noyau sont enregistrées dans le journal des événements système. Vous pouvez utiliser le observateur d'événements pour examiner le journal des événements système. (Pour plus d’informations, consultez Erreurs de journalisation .)

Les deux sources main de telles erreurs sont les réponses incorrectes aux demandes WMI et les paramètres incorrects aux notifications d’événements. Par exemple, si le pilote retourne une structure de données WMIREGINFO mal formée en réponse à une demande de IRP_MN_REGINFO ou de IRP_MN_REGINFO_EX , le système consigne cette structure dans le journal des événements système. Le système consigne également un appel non valide à IoWMIWriteEvent et WmiFireEvent pour émettre une notification d’événement WMI.

Journal du fournisseur WMI WDM

Les erreurs WMI qui se produisent lors du traitement par le fournisseur WMI WDM (Wmiprov.dll) sont enregistrées dans le fichier journal du fournisseur WMI WDM, Wmiprov.log. Il s’agit d’un fichier texte disponible dans %windir%\system32\wbem\logs\wmiprov.log. Les erreurs, telles qu’une ressource MOF incorrecte ou manquante pour le pilote, sont enregistrées ici. En cas de ressource MOF incorrecte, le fichier %windir%\system32\mofcomp.log peut contenir des informations supplémentaires relatives à l’erreur.

Dans les versions de Windows antérieures à Windows Vista, vous pouvez modifier les paramètres de journalisation de tous les fournisseurs WMI à l’aide de l’application Wmimgmt.msc. (Dans Windows 98/Me, utilisez Wbemcntl à la place.) Vous pouvez désactiver ou réactiver la journalisation, modifier le répertoire dans lequel les fichiers journaux WMI sont conservés, et définir la taille maximale de ces fichiers. Pour plus d’informations, consultez Fichiers journaux WMI.