Desarrollo de un proveedor WMI

Un proveedor es un objeto Component Object Model (COM) que actúa como intermediario entre WMI y un objeto administrado. Por ejemplo, cuando una aplicación o script solicita datos de disco mediante la clase Win32_LogicalDisk de WMI, los datos se obtienen dinámicamente a través del proveedor Win32 preinstalado.

Si desea proporcionar datos a través de WMI a otras aplicaciones, puede crear un proveedor de código no administrado escribiendo un servidor COM o a través de los asistentes ATL de WMI en Visual Studio. Puede escribir un proveedor de código administrado mediante WMI en .NET Framework. En los temas de esta sección se describe el proceso de escritura de un proveedor COM no administrado.

Nota

Para asegurarse de que todas las definiciones de clase WMI para objetos administrados se restauran en el repositorio WMI si WMI tiene un error y se reinicia, use la instrucción de preprocesador de autorrecuperación #pragma en el archivo Managed Object Format (MOF).

Un proveedor consta de clases definidas en el esquema de Formato de objeto administrado (MOF) y un archivo DLL que lleva a cabo las funciones del proveedor. Por ejemplo, el MOF que define las clases del proveedor Win32 es CIMWin32.mof y el archivo DLL es CIMWin32.dll, ambos se encuentran en %windir%\System32\Wbem.

El esquema MOF para el proveedor puede contener varios tipos de proveedor. Por ejemplo, el proveedor de registros de eventos tiene tipos de instancia, método y proveedor de eventos en un archivo MOF denominado Ntevt.mof. Se recomienda reunir todas las clases y el esquema de registro de los proveedores relacionados en un único archivo, en lugar de crear un archivo por clase.

Además de usar proveedores preinstalados, puede crear su propio proveedor para proporcionar información sobre un dispositivo de hardware o las operaciones de software.

En la tabla siguiente se enumeran las tareas básicas que crean un proveedor.

Tarea Descripción
Diseño de clases de Managed Object Format (MOF) Desarrolle un modelo para las entidades que desea administrar a través de WMI y cree un archivo de formato de objeto administrado (MOF) para describir el esquema.
Suministro de datos a WMI mediante la escritura de un proveedor Cree el proveedor más básico que está acoplado a WMI.
Incorporación de un proveedor en una aplicación Incluya el proveedor como componente dentro de una aplicación si no se ejecuta todo el tiempo.
Registro de un proveedor Registre el proveedor con COM y WMI.
Inicialización de un proveedor Implemente las interfaces IWbemProviderInit e IWbemProviderInitSink.
Realización de llamadas a WMI Llame a interfaces WMI desde un proveedor.
Suplantación de un cliente Establezca la seguridad para acceder a una aplicación cliente.
Actualización de un proveedor Mejore el proveedor según sea necesario.
Descarga de un proveedor Quite el proveedor de la memoria durante el apagado o cuando el proveedor esté inactivo.
Depuración de proveedores y Clases de configuración y solución de problemas Depure el proveedor mediante las instalaciones proporcionadas por WMI.
Obtención y suministro de datos en un equipo de 64 bits Evalúe si necesita un proveedor de compatibilidad de aplicaciones de 32 bits o si el proveedor de 64 bits puede proporcionar datos a ambos clientes.

En los temas siguientes se describen los pasos necesarios para escribir diferentes tipos de proveedores: