Compartir a través de


Técnicas generales para probar la compatibilidad con controladores WMI

Herramientas de cliente de WMI

Hay varias herramientas que puede usar para probar la compatibilidad con WMI en el controlador.

Wbemtest
El sistema operativo incluye la herramienta Wbemtest, que proporciona una GUI que puede usar para consultar clases y instancias de clase WMI, cambiar valores de propiedad, ejecutar métodos y recibir notificaciones de eventos. Conéctese al espacio de nombres "root\wmi" para probar la compatibilidad del controlador.

Wmic
Microsoft Windows XP y sistemas operativos posteriores incluyen la herramienta Wmic, que proporciona un shell de comandos que puede usar para emitir comandos relacionados con WMI para probar el controlador.

Wmimofck
El comando wmimofck se puede usar para comprobar la sintaxis de los archivos MOF binarios. También puede usar el comando wmimofck -t para generar un archivo VBScript. Puede usar este script para probar el manejo del controlador en las consultas a instancias de clases WMI. El comando wmimofck -w genera páginas web que pueden probar las clases de consulta y configuración, ejecutar métodos y recibir eventos. Tenga en cuenta que las páginas web no admiten la ejecución de métodos que usan parámetros complejos o valores devueltos (como una matriz de clases incrustadas). En tales casos, puede usar Wbemtest en su lugar. Consulte Uso de wmimofck.exe para obtener más información sobre Wmimofck.

También puede probar la compatibilidad con WMI del controlador escribiendo una aplicación cliente WMI personalizada mediante la API de modo de usuario de WMI.

Para obtener más información sobre esta API en modo de usuario, que permite a las aplicaciones proporcionar o consumir información de WMI, consulte la información de Instrumental de administración de Windows en la documentación de Microsoft Windows SDK.

Una aplicación cliente WMI realiza las siguientes tareas para probar un controlador:

  • Se conecta a WMI.

    Para conectarse a WMI, la aplicación puede llamar a la función Component Object Model (COM), CoCreateInstance, para recuperar un puntero a la interfaz IWbemLocator . A continuación, la aplicación llama al método IWbemLocator::ConnectServer para conectarse a WMI. Desde esta llamada, la aplicación recibe una referencia a la interfaz IWbemServices.

  • Obtiene acceso a la información del controlador.

    Para acceder a la información y registrar eventos, la aplicación usa los métodos de la interfaz IWbemServices .

IRPs de WMI y el registro de eventos del sistema

Los errores WMI que se producen estrictamente en modo kernel se registran en el registro de eventos del sistema. Puede usar el Visor de eventos para examinar el registro de eventos del sistema. (Consulte Errores de registro para obtener más información).

Los dos orígenes principales de estos errores son respuestas con formato incorrecto a las solicitudes WMI y parámetros incorrectos para las notificaciones de eventos. Por ejemplo, si el controlador devuelve una estructura de datos WMIREGINFO con formato incorrecto en respuesta a una solicitud de IRP_MN_REGINFO o IRP_MN_REGINFO_EX , el sistema registrará eso en el registro de eventos del sistema. El sistema también registraría una llamada no válida a IoWMIWriteEvent y WmiFireEvent para emitir una notificación de eventos WMI.

Registro del proveedor WDM de WMI

Los errores WMI que se producen mientras son manejados por el proveedor WDM de WMI (Wmiprov.dll) se registran en el archivo de registro del Proveedor WDM de WMI, Wmiprov.log. Este es un archivo de texto que se encuentra en %windir%\system32\wbem\logs\wmiprov.log. Los errores, como un recurso MOF incorrecto o faltante para el controlador, se registran aquí. En el caso de un recurso MOF incorrecto, el archivo %windir%\system32\mofcomp.log podría tener información adicional relacionada con el error.

En versiones de Windows anteriores a Windows Vista, puede cambiar la configuración de registro de todos los proveedores de WMI mediante la aplicación Wmimgmt.msc. (En Windows 98/Me, usa Wbemcntl en su lugar). Puede deshabilitar o volver a habilitar el registro, cambiar el directorio donde se conservan los archivos de registro de WMI, así como establecer el tamaño máximo de dichos archivos. Para obtener más información, vea Archivos de registro de WMI.