Escritura de un proveedor de métodos

Un proveedor de métodos permite el acceso de WMI a los métodos de una clase. Por ejemplo, una clase que representa una aplicación puede tener un método que finaliza la aplicación.

Cambiar el orden de los parámetros de entrada y salida del método al actualizar un proveedor de métodos existente puede provocar un error en las aplicaciones que llaman al método. El orden de los parámetros de entrada o salida se establece mediante el valor del calificador ID en cada parámetro. El primer parámetro tiene un valor de identificador de cero. Agregue nuevos parámetros de entrada al final de los parámetros existentes en lugar de insertarlos en la secuencia ya establecida.

En el procedimiento siguiente se describe cómo implementar un proveedor de métodos.

Para implementar un proveedor de métodos

  1. Diseñe y registre el proveedor de clases con WMI.

    Los proveedores de clases se registran con WMI mediante la creación de una instancia __Win32Provider y una clase __MethodProviderRegistration. Para obtener más información, vea Registrar un proveedor de métodos.

  2. Implemente la interfaz IWbemProviderInit para el proveedor.

    Nota

    Se recomienda encarecidamente a los proveedores de métodos usar el modelo de subprocesamiento múltiple "Ambos".

     

  3. Implemente el método IWbemServices::ExecMethodAsync para el proveedor.

    La interfaz IWbemServices es la interfaz principal de un proveedor de métodos. A fin de obtener más información, vea Implementación de la interfaz principal para un proveedor de eventos.

  4. Agregue cualquier código adicional necesario para el proveedor.

    Al diseñar el proveedor, lo más probable es que tenga que llamar a interfaces de WMI. Para más información, consulte Llamar a un método y Mantener los niveles de seguridad en un proveedor.

    Al recuperar información de un cliente, es posible que tenga que acceder a los niveles de seguridad de ese cliente. Para más información, consulte Suplantar un cliente.

  5. Reemplace el proveedor existente por el nuevo código.

    No es necesario realizar este paso si no hay un proveedor existente para copiar encima. Para más información, consulte Actualizar un proveedor.