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 las clases y las instancias de clase WMI, cambiar los 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 control del controlador de las consultas de instancia de clase 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. A partir de esta llamada, la aplicación recibe un puntero a la interfaz IWbemServices .

  • Obtiene acceso a la información del controlador.

    Para obtener acceso a la información y registrarse para eventos, la aplicación usa los métodos de la interfaz IWbemServices .

IRP de WMI y el registro de eventos del sistema

Los errores de 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 lo registrará 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 WDM de WMI

Los errores de WMI que se producen mientras el proveedor WDM de WMI (Wmiprov.dll) se registran en el archivo de registro del proveedor WDM 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 que falta 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, use 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 más información, vea Archivos de registro de WMI.