Compartir a través de


Provider::ExecMethod(constCInstance&,constBSTR,CInstance*,CInstance*,long) (provider.h)

[La clase Provider forma parte del marco del proveedor de WMI que ahora se considera en estado final y no habrá más desarrollo, mejoras o actualizaciones disponibles para problemas no relacionados con la seguridad que afecten a estas bibliotecas. Las API de MI se deben usar para todo el nuevo desarrollo.]

WMI llama al método ExecMethod para invocar un método en una clase o instancia.

Sintaxis

HRESULT ExecMethod(
  [ref] const CInstance & cInstance,
        const BSTR        bstrMethodName,
        CInstance         *pInParams,
        CInstance         *pOutParams,
        long              lFlags
);

Parámetros

[ref] cInstance

Propiedades clave de la instancia en cuestión si el cliente llamó a un método de instancia. Si el cliente llamó a un método estático, Instance contiene un objeto de clase.

bstrMethodName

Nombre del método que se invoca.

pInParams

Puntero a los parámetros de entrada del método.

pOutParams

Puntero a los parámetros de salida del método.

lFlags

Máscara de bits de marcas con información sobre la operación del método execute. Este es el valor especificado por el cliente en el método IWbemServices::ExecMethod . Pocos clientes usan los parámetros lFlags . Puede omitir lFlags de forma segura en la mayoría de las implementaciones del proveedor.

WMI controla la marca siguiente (y filtrada):

  • WBEM_FLAG_RETURN_IMMEDIATELY

Valor devuelto

La implementación predeterminada del proveedor de marcos de este método devuelve WBEM_E_PROVIDER_NOT_CAPABLE al método que realiza la llamada. El método IWbemServices::ExecMethod enumera los valores devueltos más comunes, aunque puede elegir devolver cualquier código de retorno COM.

Los valores devueltos para los métodos pueden ser uno de los dos tipos:

  • HRESULT se usa para indicar errores de tipo WMI: WBEM_E_OUT_OF_MEMORY, WBEM_E_NOT_FOUND, etc.
  • El valor devuelto del método (como uint32) devuelve el resultado del método .

Comentarios

WMI llama a ExecMethod cuando un cliente llama a IWbemServices::ExecMethod en su clase. Por lo tanto, debe implementar ExecMethod si el proveedor admite uno o varios métodos. En la lista siguiente se describe una implementación común de ExecMethod:

  1. Determine qué método llamó el cliente examinando el parámetro bstrMethodName .
  2. Recupere los parámetros de entrada del parámetro pInParams mediante los métodos Get de la clase CInstance , como CInstance::GetCHString.

    Un método puede tener parámetros de entrada, parámetros de salida, parámetros de entrada y salida, o ningún parámetro de entrada o salida.

  3. Establezca los parámetros de salida en el parámetro pOutParams mediante los métodos Set de la clase CInstance, como CInstance::SetByte o CInstance::SetStringArray.

    Además de declarar las propiedades [out] como se especifica en la declaración de devolución, también debe declarar el valor devuelto para el método , tal como se define en la propiedad ReturnValue . No es necesario declarar un valor devuelto si el valor devuelto es void.

Para obtener más información, vea IWbemServices::ExecMethod.

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista
Servidor mínimo compatible Windows Server 2008
Plataforma de destino Windows
Encabezado provider.h (include FwCommon.h)
Library FrameDyn.lib
Archivo DLL FrameDynOS.dll; FrameDyn.dll