Introducción a WMI para controladores KMDF

[Solo se aplica a KMDF]

Kernel-Mode Driver Framework admite controladores que proporcionan información a Instrumental de administración de Windows (WMI). Estos controladores se denominan proveedores de datos WMI porque proporcionan datos a los clientes WMI, que son aplicaciones que se han registrado para recibir información de WMI.

Los proveedores de datos WMI admiten bloques de datos WMI, que pueden representar uno o varios de los siguientes elementos:

  • Elementos de datos, que contienen datos específicos del dispositivo a los que un controlador envía o recibe de un cliente WMI.

  • Métodos (funciones) que el controlador ejecuta en nombre de un cliente WMI.

  • Eventos que el controlador envía a clientes WMI que se han registrado para recibir notificaciones de eventos específicos del dispositivo.

Los bloques de datos WMI se especifican como clases WMI en archivos .mof. Cada bloque de datos WMI se identifica mediante un GUID.

Todos los controladores deben admitir los bloques de datos WMI estándar que WMI define para su clase de dispositivo. Estos bloques de datos WMI se definen en Wmicore.mof.

El controlador también puede admitir bloques de datos WMI que defina en un archivo .mof. Para obtener información sobre cómo definir y publicar bloques de datos WMI personalizados, consulte las secciones siguientes:

Funciones de devolución de llamada y objetos WMI de marco

El marco define dos objetos que los controladores pueden usar para implementar proveedores de datos WMI. El objeto de proveedor WMI representa el esquema de los bloques de datos WMI que proporciona el controlador. El objeto de instancia de WMI representa una instancia de un bloque de datos asociado a un proveedor determinado. Los controladores se comunican con los clientes WMI mediante la implementación de las siguientes funciones de devolución de llamada de eventos que definen estos dos objetos:

EvtWmiProviderFunctionControl
Habilita y deshabilita la compatibilidad del controlador para recopilar datos WMI y enviar eventos WMI.

EvtWmiInstanceQueryInstance
Entrega los datos de instancia de un proveedor WMI a un cliente WMI.

EvtWmiInstanceSetInstance y EvtWmiInstanceSetItem
Establezca información en el bloque de datos de un controlador en valores proporcionados por el cliente.

EvtWmiInstanceExecuteMethod
Ejecuta un método proporcionado por el controlador, a petición de un cliente.

Controladores de ejemplo que implementan WMI

Los controladores de ejemplo FIREFLY, PCIDRV y Toaster son proveedores de datos WMI.